Package com.storedobject.core
Class ObjectTree<T extends StoredObject>
java.lang.Object
com.storedobject.core.ObjectTree<T>
- All Implemented Interfaces:
Filtered<T>,FilterMethods<T>,ObjectLoader<T>,AutoCloseable
public class ObjectTree<T extends StoredObject>
extends Object
implements Filtered<T>, ObjectLoader<T>, AutoCloseable
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionObjectTree(boolean large, int linkType, Class<T> objectClass, boolean any) ObjectTree(int linkType, Class<T> objectClass, boolean any, Function<Class<T>, ObjectList<T>> listSupplier) -
Method Summary
Modifier and TypeMethodDescriptionvoidThis method is called whenever a filter predicate is changed.voidclose()voidvoidfilter(Predicate<? super T> filter, Comparator<? super T> comparator) Comparator<? super T> Get the load filter.The class of the instances.final TgetRoots()voidload(int linkType, StoredObject master, String condition, String orderedBy, boolean any) Load the links of the given "master" instance.voidload(ObjectIterator<T> objects) Load the given instances.voidLoad the instances created from the list ofIds.voidLoad the instances.voidLoad the given instances.voidorder(Comparator<? super T> comparator) voidrefresh()voidvoidrefreshItem(T item, boolean refreshChildren) voidsetBuilder(ObjectTree.Builder<T> builder) voidsetLoadFilter(Predicate<T> loadFilter) Set the load filter.intsize()Get the instances count.intsize(int startingIndex, int endingIndex) intintintsizeAll()intstream(int startingIndex, int endingIndex) streamAll(int startingIndex, int endingIndex) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.storedobject.core.FilterMethods
getEffectiveCondition, getFilterCondition, setFilter, setFilter, setFilter, setFilter, setFilter, setFilter, setLoadFilter, setViewFilter, setViewFilterMethods inherited from interface com.storedobject.core.ObjectLoader
applyFilter, canContain, clear, getAllowAny, getLinkType, getMaster, getOrderBy, isAllowAny, load, load, load, load, load, load, load, load, load, load, load, load, load, load, load, load, load, load, reload, setLinkType, setLinkType, setMaster, setMaster, setOrderBy, setOrderBy
-
Constructor Details
-
ObjectTree
-
ObjectTree
-
-
Method Details
-
setLoadFilter
Description copied from interface:FilterMethodsSet the load filter. This will be applied whenever loading takes place.- Specified by:
setLoadFilterin interfaceFilterMethods<T extends StoredObject>- Parameters:
loadFilter- Load filter to be applied while loading.
-
applyFilterPredicate
public void applyFilterPredicate()Description copied from interface:FilterMethodsThis method is called whenever a filter predicate is changed. Methods with default implementation already invoke this method. If any of those methods are overridden, make sure that it invokes this method so that logic to handle filter changes can be coded here.Note: This method is used to show the filtered result of the existing entries
- Specified by:
applyFilterPredicatein interfaceFilterMethods<T extends StoredObject>
-
getLoadFilter
Description copied from interface:FilterMethodsGet the load filter.- Specified by:
getLoadFilterin interfaceFilterMethods<T extends StoredObject>- Returns:
- Current load filter.
-
getRoots
-
order
- Specified by:
orderin interfaceFiltered<T extends StoredObject>
-
filter
-
filter
- Specified by:
filterin interfaceFiltered<T extends StoredObject>
-
getFilter
-
getComparator
- Specified by:
getComparatorin interfaceFiltered<T extends StoredObject>
-
getParent
-
size
public int size()Description copied from interface:ObjectLoaderGet the instances count.- Specified by:
sizein interfaceFiltered<T extends StoredObject>- Specified by:
sizein interfaceObjectLoader<T extends StoredObject>- Returns:
- Count.
-
size
-
size
public int size(int startingIndex, int endingIndex) - Specified by:
sizein interfaceFiltered<T extends StoredObject>
-
size
-
sizeAll
public int sizeAll()- Specified by:
sizeAllin interfaceFiltered<T extends StoredObject>
-
sizeAll
-
stream
-
stream
-
streamAll
-
streamAll
-
load
Description copied from interface:ObjectLoaderLoad the instances. Current "load filter" if set will be applied. If "master" is already set, "links" of the "master" will be loaded.- Specified by:
loadin interfaceObjectLoader<T extends StoredObject>- Parameters:
condition- Filtering condition to be applied.orderedBy- "ORDER BY" clause to use while loading.any- Whether instanced of the subclasses to be retrieved or not.
-
load
public void load(int linkType, StoredObject master, String condition, String orderedBy, boolean any) Description copied from interface:ObjectLoaderLoad the links of the given "master" instance. Current "load filter" if set will be applied.- Specified by:
loadin interfaceObjectLoader<T extends StoredObject>- Parameters:
linkType- Link type.master- Master instance.condition- Filtering condition to be applied.orderedBy- "ORDER BY" clause to use while loading.any- Whether instanced of the subclasses to be retrieved or not.
-
load
Description copied from interface:ObjectLoaderLoad the instances created from the list ofIds. Current "load filter" if set will be applied. However,ObjectLoader.getOrderBy()result will be ignored. Also, the value returned byObjectLoader.getAllowAny()will determine whether instanced of the subclasses to be restricted or not.- Specified by:
loadin interfaceObjectLoader<T extends StoredObject>- Parameters:
idList- List ofIds from which objects to be loaded.
-
load
Description copied from interface:ObjectLoaderLoad the given instances. Current "load filter" if set will be applied. However,ObjectLoader.getOrderBy()result will be ignored. Also, the value returned byObjectLoader.getAllowAny()will determine whether instanced of the subclasses to be restricted or not.- Specified by:
loadin interfaceObjectLoader<T extends StoredObject>- Parameters:
objects- Objects to be loaded.
-
load
Description copied from interface:ObjectLoaderLoad the given instances. Current "load filter" if set will be applied. However,ObjectLoader.getOrderBy()result will be ignored. Also, the value returned byObjectLoader.getAllowAny()will determine whether instanced of the subclasses to be restricted or not.- Specified by:
loadin interfaceObjectLoader<T extends StoredObject>- Parameters:
objects- Objects to be loaded.
-
getObjectClass
Description copied from interface:ObjectLoaderThe class of the instances.- Specified by:
getObjectClassin interfaceObjectLoader<T extends StoredObject>- Returns:
- The class of the instances to load.
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
refresh
public void refresh() -
refresh
-
refreshItem
-
setBuilder
-