public abstract class AbstractGroup
extends java.lang.Object
implements java.io.Serializable
The AbstractGroup is a container for the methods used in Group and SubGroup respectively. This class provides all information implementations except the IO to disk or other specializations.
This is an early implementation and the contract is likely to change.
Constructor and Description |
---|
AbstractGroup() |
AbstractGroup(AbstractGroup group) |
AbstractGroup(java.util.Collection<Item> items) |
AbstractGroup(java.util.Set<Item> set) |
Modifier and Type | Method and Description |
---|---|
SubGroup |
contains(java.lang.String field,
java.lang.String value) |
java.util.Set<Item> |
containsSet(java.lang.String field,
java.lang.String value) |
SubGroup |
difference(SubGroup other)
Return the uncommon elements (elements not shared by A or B)
(Opposite of an intersection)
|
SubGroup |
doesNotContain(java.lang.String field,
java.lang.String value) |
java.util.Set<Item> |
doesNotContainSet(java.lang.String field,
java.lang.String value) |
SubGroup |
equal(java.lang.String name,
JSON value) |
SubGroup |
equal(java.lang.String name,
java.lang.Object value) |
java.util.Set<Item> |
equalSet(java.lang.String name,
JSON value) |
java.util.Set<Item> |
equalSet(java.lang.String name,
java.lang.Object value) |
Item |
find(java.lang.String id)
Find an element in the collection by ID.
|
SubGroup |
find(java.lang.String[] strings,
JSON[] jsons,
InstructionType[] instructions) |
SubGroup |
find(java.lang.String field,
JSON json,
InstructionType type)
Find a set of items and wrap them into a SubGroup for chainable API
|
SubGroup |
find(java.lang.String field,
java.lang.Object value,
InstructionType type)
Find a set of items and wrap them into a SubGroup for chainable API
|
java.util.Set<Item> |
findSet(java.lang.String[] fields,
JSON[] values,
InstructionType[] instructions)
This method is a batch operation on the find providing a union of
the sets.
|
java.util.Set<Item> |
findSet(java.lang.String field,
JSON value,
InstructionType instruction)
Find an element in the collection by a query.
|
java.util.Set<Item> |
findSet(java.lang.String field,
java.lang.Object value,
InstructionType instruction) |
java.util.ArrayList<Item> |
getAllItems()
Gets all the items in the collection
|
abstract java.lang.String |
getName() |
SubGroup |
greaterThan(java.lang.String field,
JSON limitBottom) |
SubGroup |
greaterThan(java.lang.String field,
java.lang.Object limitBottom) |
SubGroup |
greaterThanAndEqualTo(java.lang.String field,
JSON limitBottom) |
SubGroup |
greaterThanAndEqualTo(java.lang.String field,
java.lang.Object limitBottom) |
java.util.Set<Item> |
greaterThanAndEqualToSet(java.lang.String field,
JSON limitBottom) |
java.util.Set<Item> |
greaterThanAndEqualToSet(java.lang.String field,
java.lang.Object limitBottom) |
java.util.Set<Item> |
greaterThanSet(java.lang.String field,
JSON limitBottom)
Return a set of items greaterThan the field specified and the bottom
limit.
|
java.util.Set<Item> |
greaterThanSet(java.lang.String field,
java.lang.Object limitBottom)
Return a set of items greaterThan the field specified and the bottom
limit.
|
SubGroup |
intersection(SubGroup other)
Return the intersection (common elements)
|
SubGroup |
isFalse(java.lang.String field) |
java.util.Set<Item> |
isFalseSet(java.lang.String field) |
SubGroup |
isNull(java.lang.String field) |
java.util.Set<Item> |
isNullSet(java.lang.String field) |
SubGroup |
isTrue(java.lang.String field) |
java.util.Set<Item> |
isTrueSet(java.lang.String field) |
SubGroup |
lessThan(java.lang.String field,
JSON limitTop) |
SubGroup |
lessThan(java.lang.String field,
java.lang.Object limitTop) |
SubGroup |
lessThanAndEqualTo(java.lang.String field,
JSON limitTop) |
SubGroup |
lessThanAndEqualTo(java.lang.String field,
java.lang.Object limitTop) |
java.util.Set<Item> |
lessThanAndEqualToSet(java.lang.String field,
JSON limitTop) |
java.util.Set<Item> |
lessThanAndEqualToSet(java.lang.String field,
java.lang.Object limitTop) |
java.util.Set<Item> |
lessThanSet(java.lang.String field,
JSON limitTop) |
java.util.Set<Item> |
lessThanSet(java.lang.String field,
java.lang.Object limitTop) |
void |
merge(Item item,
java.util.Map<java.lang.String,JSON> values) |
void |
merge(java.lang.String id,
java.util.Map<java.lang.String,JSON> values) |
SubGroup |
notEqual(java.lang.String field,
JSON value) |
SubGroup |
notEqual(java.lang.String field,
java.lang.Object value) |
java.util.Set<Item> |
notEqualSet(java.lang.String field,
JSON value) |
java.util.Set<Item> |
notEqualSet(java.lang.String field,
java.lang.Object value) |
SubGroup |
notNull(java.lang.String field) |
java.util.Set<Item> |
notNullSet(java.lang.String field) |
static void |
print(java.util.Collection<Item> collection) |
void |
put(Item item) |
static Group |
read(java.io.File directory,
java.lang.String name) |
void |
remove(AbstractGroup group) |
void |
remove(java.util.Collection<Item> items) |
void |
remove(Item... items) |
void |
remove(Item item) |
void |
remove(java.util.Set<Item> items) |
static java.util.List<Item> |
sort(AbstractGroup group,
java.lang.String... fields) |
static java.util.List<Item> |
sort(java.util.Collection<Item> items,
java.lang.String... fields) |
java.util.List<Item> |
sort(java.lang.String... fields) |
void |
stomp(java.lang.String id,
java.util.Map<java.lang.String,JSON> values) |
SubGroup |
union(SubGroup other)
Return a union of the two groups assuring no
duplicate items
|
public AbstractGroup()
public AbstractGroup(java.util.Collection<Item> items)
public AbstractGroup(java.util.Set<Item> set)
public AbstractGroup(AbstractGroup group)
public static void print(java.util.Collection<Item> collection)
public static Group read(java.io.File directory, java.lang.String name) throws java.io.FileNotFoundException
java.io.FileNotFoundException
public static java.util.List<Item> sort(AbstractGroup group, java.lang.String... fields)
public static java.util.List<Item> sort(java.util.Collection<Item> items, java.lang.String... fields)
public SubGroup contains(java.lang.String field, java.lang.String value)
public java.util.Set<Item> containsSet(java.lang.String field, java.lang.String value)
public SubGroup doesNotContain(java.lang.String field, java.lang.String value)
public java.util.Set<Item> doesNotContainSet(java.lang.String field, java.lang.String value)
public SubGroup equal(java.lang.String name, java.lang.Object value)
public java.util.Set<Item> equalSet(java.lang.String name, java.lang.Object value)
public Item find(java.lang.String id)
id
- public SubGroup find(java.lang.String field, JSON json, InstructionType type)
field
- the field to searchvalue
- the value (Number/String/Boolean etc...), if you pass garbage you will get garbage.instruction
- the instruction for comparisonfindSet(String, JSON, InstructionType)
,
#findSet(String, JSON, InstructionType)}
public SubGroup find(java.lang.String field, java.lang.Object value, InstructionType type)
field
- the field to searchvalue
- the value (Number/String/Boolean etc...), if you pass garbage you will get garbage.instruction
- the instruction for comparisonfindSet(String, JSON, InstructionType)
,
#find(String, JSON, InstructionType)}
public SubGroup find(java.lang.String[] strings, JSON[] jsons, InstructionType[] instructions)
public java.util.Set<Item> findSet(java.lang.String field, JSON value, InstructionType instruction)
field
- the field to searchvalue
- the value of that fieldinstruction
- the instruction to use (==, !=, etc...)public java.util.Set<Item> findSet(java.lang.String field, java.lang.Object value, InstructionType instruction)
field
- the field to searchvalue
- the value (Number/String/Boolean etc...), if you pass garbage you will get garbage.instruction
- the instruction for comparison#findSet(String, JSON, InstructionType)}
public java.util.Set<Item> findSet(java.lang.String[] fields, JSON[] values, InstructionType[] instructions)
fields
- the fields to searchvalues
- the values for those fieldsinstructions
- the instructions to compare those valuesjava.lang.IllegalArgumentException
- if the array sets do not match in argument.find(String, JSON, InstructionType)
public java.util.ArrayList<Item> getAllItems()
public abstract java.lang.String getName()
public SubGroup greaterThan(java.lang.String field, JSON limitBottom)
field
- the field to searchlimitBottom
- the limit on the bottom.public SubGroup greaterThan(java.lang.String field, java.lang.Object limitBottom)
public SubGroup greaterThanAndEqualTo(java.lang.String field, JSON limitBottom)
field
- the field to searchlimitBottom
- the limit on the bottom.public SubGroup greaterThanAndEqualTo(java.lang.String field, java.lang.Object limitBottom)
field
- the field to searchlimitBottom
- the limit on the bottom.public java.util.Set<Item> greaterThanAndEqualToSet(java.lang.String field, JSON limitBottom)
field
- the field to searchlimitBottom
- the limit on the bottom.public java.util.Set<Item> greaterThanAndEqualToSet(java.lang.String field, java.lang.Object limitBottom)
field
- the field to searchlimitBottom
- the limit on the bottom.public java.util.Set<Item> greaterThanSet(java.lang.String field, JSON limitBottom)
field
- the field to searchlimitBottom
- the limit on the bottom.public java.util.Set<Item> greaterThanSet(java.lang.String field, java.lang.Object limitBottom)
field
- the field to searchlimitBottom
- the limit on the bottom.public SubGroup isFalse(java.lang.String field)
field
- the field to searchpublic java.util.Set<Item> isFalseSet(java.lang.String field)
field
- the field to searchpublic SubGroup isNull(java.lang.String field)
public java.util.Set<Item> isNullSet(java.lang.String field)
public SubGroup isTrue(java.lang.String field)
field
- the field to searchpublic java.util.Set<Item> isTrueSet(java.lang.String field)
field
- the field to searchpublic SubGroup lessThan(java.lang.String field, JSON limitTop)
field
- the field to searchlimitBottom
- the limit on the top.public SubGroup lessThan(java.lang.String field, java.lang.Object limitTop)
field
- the field to searchlimitBottom
- the limit on the top.public SubGroup lessThanAndEqualTo(java.lang.String field, JSON limitTop)
field
- the field to searchlimitBottom
- the limit on the top.public SubGroup lessThanAndEqualTo(java.lang.String field, java.lang.Object limitTop)
field
- the field to searchlimitBottom
- the limit on the top.public java.util.Set<Item> lessThanAndEqualToSet(java.lang.String field, JSON limitTop)
field
- the field to searchlimitBottom
- the limit on the top.public java.util.Set<Item> lessThanAndEqualToSet(java.lang.String field, java.lang.Object limitTop)
field
- the field to searchlimitBottom
- the limit on the top.public java.util.Set<Item> lessThanSet(java.lang.String field, JSON limitTop)
field
- the field to searchlimitBottom
- the limit on the top.public java.util.Set<Item> lessThanSet(java.lang.String field, java.lang.Object limitTop)
field
- the field to searchlimitBottom
- the limit on the top.public void merge(java.lang.String id, java.util.Map<java.lang.String,JSON> values)
public SubGroup union(SubGroup other)
other
- public SubGroup difference(SubGroup other)
other
- public SubGroup intersection(SubGroup other)
other
- the set to intersect withpublic SubGroup notEqual(java.lang.String field, java.lang.Object value)
public java.util.Set<Item> notEqualSet(java.lang.String field, java.lang.Object value)
public SubGroup notNull(java.lang.String field)
public java.util.Set<Item> notNullSet(java.lang.String field)
public void put(Item item)
public void remove(AbstractGroup group)
public void remove(Item item)
public void remove(Item... items)
public void remove(java.util.Collection<Item> items)
public void remove(java.util.Set<Item> items)
public java.util.List<Item> sort(java.lang.String... fields)
public void stomp(java.lang.String id, java.util.Map<java.lang.String,JSON> values)