public class SearchableCollectionDefault<KEY,ITEM> extends java.lang.Object implements SearchableCollection<KEY,ITEM>, SearchableCollectionComposer
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.String,FieldAccess> |
fields |
protected Filter |
filter |
protected java.util.List<LookupIndex> |
indexes |
protected java.util.Map<java.lang.String,LookupIndex> |
lookupIndexMap |
protected UniqueLookupIndex<KEY,ITEM> |
primaryIndex |
protected Function<ITEM,KEY> |
primaryKeyGetter |
protected java.lang.String |
primaryKeyName |
protected boolean |
removeDuplication |
protected java.util.Map<java.lang.String,SearchIndex> |
searchIndexMap |
Constructor and Description |
---|
SearchableCollectionDefault() |
Modifier and Type | Method and Description |
---|---|
boolean |
add(ITEM item) |
boolean |
addAll(java.util.Collection<? extends ITEM> items) |
void |
addLookupIndex(java.lang.String name,
LookupIndex si) |
void |
addSearchIndex(java.lang.String name,
SearchIndex si) |
java.util.List<ITEM> |
all() |
void |
clear() |
boolean |
contains(java.lang.Object o) |
boolean |
containsAll(java.util.Collection<?> c) |
int |
count(KEY key,
java.lang.String property,
byte value) |
int |
count(KEY key,
java.lang.String property,
char value) |
int |
count(KEY key,
java.lang.String property,
double value) |
int |
count(KEY key,
java.lang.String property,
float value) |
int |
count(KEY key,
java.lang.String property,
int value) |
int |
count(KEY key,
java.lang.String property,
long value) |
int |
count(KEY key,
java.lang.String property,
java.lang.Object value) |
int |
count(KEY key,
java.lang.String property,
short value) |
boolean |
delete(ITEM item) |
ITEM |
get(KEY key) |
KEY |
getKey(ITEM item) |
void |
init() |
void |
invalidateIndex(java.lang.String property,
ITEM item) |
boolean |
isEmpty() |
java.util.Iterator<ITEM> |
iterator() |
<T> T |
max(KEY key,
java.lang.String property,
java.lang.Class<T> type) |
double |
maxDouble(KEY key,
java.lang.String property) |
int |
maxInt(KEY key,
java.lang.String property) |
long |
maxLong(KEY key,
java.lang.String property) |
java.lang.Number |
maxNumber(KEY key,
java.lang.String property) |
java.lang.String |
maxString(KEY key,
java.lang.String property) |
<T> T |
min(KEY key,
java.lang.String property,
java.lang.Class<T> type) |
double |
minDouble(KEY key,
java.lang.String property) |
int |
minInt(KEY key,
java.lang.String property) |
long |
minLong(KEY key,
java.lang.String property) |
java.lang.Number |
minNumber(KEY key,
java.lang.String property) |
java.lang.String |
minString(KEY key,
java.lang.String property) |
java.util.List<ITEM> |
query(Criteria... expressions) |
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
query(java.util.List<Selector> selectors,
Criteria... expressions) |
void |
query(Visitor<KEY,ITEM> visitor,
Criteria... expressions) |
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
queryAsMaps(Criteria... expressions) |
boolean |
remove(java.lang.Object o) |
boolean |
removeAll(java.util.Collection<?> items) |
void |
removeByKey(KEY key) |
ResultSet<ITEM> |
results(Criteria... expressions) |
boolean |
retainAll(java.util.Collection<?> c) |
void |
setFields(java.util.Map<java.lang.String,FieldAccess> fields) |
void |
setFilter(Filter filter) |
void |
setPrimaryKeyGetter(Function getter) |
void |
setPrimaryKeyName(java.lang.String primaryKey) |
void |
setRemoveDuplication(boolean removeDuplication) |
int |
size() |
java.util.List<ITEM> |
sortedQuery(Sort sortBy,
Criteria... expressions) |
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
sortedQuery(Sort sortBy,
java.util.List<Selector> selectors,
Criteria... expressions) |
java.util.List<ITEM> |
sortedQuery(java.lang.String sortBy,
Criteria... expressions) |
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
sortedQuery(java.lang.String sortBy,
java.util.List<Selector> selectors,
Criteria... expressions) |
void |
sortedQuery(Visitor<KEY,ITEM> visitor,
Sort sortBy,
Criteria... expressions) |
void |
sortedQuery(Visitor<KEY,ITEM> visitor,
java.lang.String sortBy,
Criteria... expressions) |
java.lang.Object[] |
toArray() |
<T> T[] |
toArray(T[] a) |
java.util.Collection<ITEM> |
toCollection() |
void |
validateIndex(java.lang.String property,
ITEM item) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
protected java.util.Map<java.lang.String,LookupIndex> lookupIndexMap
protected java.util.Map<java.lang.String,SearchIndex> searchIndexMap
protected java.util.List<LookupIndex> indexes
protected Filter filter
protected java.util.Map<java.lang.String,FieldAccess> fields
protected UniqueLookupIndex<KEY,ITEM> primaryIndex
protected java.lang.String primaryKeyName
protected boolean removeDuplication
public boolean delete(ITEM item)
delete
in interface SearchableCollection<KEY,ITEM>
public KEY getKey(ITEM item)
getKey
in interface SearchableCollection<KEY,ITEM>
public void setRemoveDuplication(boolean removeDuplication)
setRemoveDuplication
in interface SearchableCollectionComposer
public int count(KEY key, java.lang.String property, int value)
count
in interface SearchableCollection<KEY,ITEM>
public int count(KEY key, java.lang.String property, short value)
count
in interface SearchableCollection<KEY,ITEM>
public int count(KEY key, java.lang.String property, byte value)
count
in interface SearchableCollection<KEY,ITEM>
public int count(KEY key, java.lang.String property, long value)
count
in interface SearchableCollection<KEY,ITEM>
public int count(KEY key, java.lang.String property, char value)
count
in interface SearchableCollection<KEY,ITEM>
public int count(KEY key, java.lang.String property, float value)
count
in interface SearchableCollection<KEY,ITEM>
public int count(KEY key, java.lang.String property, double value)
count
in interface SearchableCollection<KEY,ITEM>
public int count(KEY key, java.lang.String property, java.lang.Object value)
count
in interface SearchableCollection<KEY,ITEM>
public <T> T max(KEY key, java.lang.String property, java.lang.Class<T> type)
max
in interface SearchableCollection<KEY,ITEM>
public java.lang.String maxString(KEY key, java.lang.String property)
maxString
in interface SearchableCollection<KEY,ITEM>
public java.lang.Number maxNumber(KEY key, java.lang.String property)
maxNumber
in interface SearchableCollection<KEY,ITEM>
public int maxInt(KEY key, java.lang.String property)
maxInt
in interface SearchableCollection<KEY,ITEM>
public long maxLong(KEY key, java.lang.String property)
maxLong
in interface SearchableCollection<KEY,ITEM>
public double maxDouble(KEY key, java.lang.String property)
maxDouble
in interface SearchableCollection<KEY,ITEM>
public <T> T min(KEY key, java.lang.String property, java.lang.Class<T> type)
min
in interface SearchableCollection<KEY,ITEM>
public java.lang.String minString(KEY key, java.lang.String property)
minString
in interface SearchableCollection<KEY,ITEM>
public java.lang.Number minNumber(KEY key, java.lang.String property)
minNumber
in interface SearchableCollection<KEY,ITEM>
public int minInt(KEY key, java.lang.String property)
minInt
in interface SearchableCollection<KEY,ITEM>
public long minLong(KEY key, java.lang.String property)
minLong
in interface SearchableCollection<KEY,ITEM>
public double minDouble(KEY key, java.lang.String property)
minDouble
in interface SearchableCollection<KEY,ITEM>
public ResultSet<ITEM> results(Criteria... expressions)
results
in interface SearchableCollection<KEY,ITEM>
public java.util.List<ITEM> query(Criteria... expressions)
query
in interface SearchableCollection<KEY,ITEM>
public java.util.List<ITEM> sortedQuery(java.lang.String sortBy, Criteria... expressions)
sortedQuery
in interface SearchableCollection<KEY,ITEM>
public java.util.List<ITEM> sortedQuery(Sort sortBy, Criteria... expressions)
sortedQuery
in interface SearchableCollection<KEY,ITEM>
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> queryAsMaps(Criteria... expressions)
queryAsMaps
in interface SearchableCollection<KEY,ITEM>
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> sortedQuery(java.lang.String sortBy, java.util.List<Selector> selectors, Criteria... expressions)
sortedQuery
in interface SearchableCollection<KEY,ITEM>
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> sortedQuery(Sort sortBy, java.util.List<Selector> selectors, Criteria... expressions)
sortedQuery
in interface SearchableCollection<KEY,ITEM>
public void query(Visitor<KEY,ITEM> visitor, Criteria... expressions)
query
in interface SearchableCollection<KEY,ITEM>
public void sortedQuery(Visitor<KEY,ITEM> visitor, java.lang.String sortBy, Criteria... expressions)
sortedQuery
in interface SearchableCollection<KEY,ITEM>
public void sortedQuery(Visitor<KEY,ITEM> visitor, Sort sortBy, Criteria... expressions)
sortedQuery
in interface SearchableCollection<KEY,ITEM>
public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> query(java.util.List<Selector> selectors, Criteria... expressions)
query
in interface SearchableCollection<KEY,ITEM>
public void invalidateIndex(java.lang.String property, ITEM item)
invalidateIndex
in interface SearchableCollection<KEY,ITEM>
public void validateIndex(java.lang.String property, ITEM item)
validateIndex
in interface SearchableCollection<KEY,ITEM>
public void clear()
clear
in interface java.util.Collection<ITEM>
public void setFilter(Filter filter)
setFilter
in interface SearchableCollectionComposer
public void addSearchIndex(java.lang.String name, SearchIndex si)
addSearchIndex
in interface SearchableCollection<KEY,ITEM>
public void addLookupIndex(java.lang.String name, LookupIndex si)
addLookupIndex
in interface SearchableCollection<KEY,ITEM>
public java.util.List<ITEM> all()
all
in interface SearchableCollection<KEY,ITEM>
public void setPrimaryKeyName(java.lang.String primaryKey)
setPrimaryKeyName
in interface SearchableCollectionComposer
public java.util.Collection<ITEM> toCollection()
public boolean isEmpty()
isEmpty
in interface java.util.Collection<ITEM>
public java.util.Iterator<ITEM> iterator()
public java.lang.Object[] toArray()
toArray
in interface java.util.Collection<ITEM>
public <T> T[] toArray(T[] a)
toArray
in interface java.util.Collection<ITEM>
public void setPrimaryKeyGetter(Function getter)
setPrimaryKeyGetter
in interface SearchableCollectionComposer
public void init()
init
in interface SearchableCollectionComposer
public void setFields(java.util.Map<java.lang.String,FieldAccess> fields)
setFields
in interface SearchableCollectionComposer
public int size()
size
in interface java.util.Collection<ITEM>
public boolean addAll(java.util.Collection<? extends ITEM> items)
addAll
in interface java.util.Collection<ITEM>
public boolean remove(java.lang.Object o)
remove
in interface java.util.Collection<ITEM>
public void removeByKey(KEY key)
removeByKey
in interface SearchableCollection<KEY,ITEM>
public boolean containsAll(java.util.Collection<?> c)
containsAll
in interface java.util.Collection<ITEM>
public boolean removeAll(java.util.Collection<?> items)
removeAll
in interface java.util.Collection<ITEM>
public boolean retainAll(java.util.Collection<?> c)
retainAll
in interface java.util.Collection<ITEM>
public boolean contains(java.lang.Object o)
contains
in interface java.util.Collection<ITEM>