Package com.helger.commons.hierarchy
Class ChildrenProviderSorting<CHILDTYPE>
- java.lang.Object
-
- com.helger.commons.hierarchy.ChildrenProviderSorting<CHILDTYPE>
-
- Type Parameters:
CHILDTYPE- The data type of the child objects.
- All Implemented Interfaces:
IChildrenProvider<CHILDTYPE>
- Direct Known Subclasses:
ChildrenProviderSortingWithID
@Immutable public class ChildrenProviderSorting<CHILDTYPE> extends Object implements IChildrenProvider<CHILDTYPE>
AnIChildrenProviderthat returns the children ingetAllChildren(Object)sorted.
The implementation wraps an existing children provider and uses and external comparator for sorting.- Author:
- Philip Helger
-
-
Constructor Summary
Constructors Constructor Description ChildrenProviderSorting(IChildrenProvider<CHILDTYPE> aCP, Comparator<? super CHILDTYPE> aComparator)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ICommonsList<? extends CHILDTYPE>getAllChildren(CHILDTYPE aCurrent)Get the children of the passed object.intgetChildCount(CHILDTYPE aCurrent)IChildrenProvider<CHILDTYPE>getChildrenProvider()Comparator<? super CHILDTYPE>getComparator()booleanhasChildren(CHILDTYPE aCurrent)Check if an item has children.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.helger.commons.hierarchy.IChildrenProvider
hasNoChildren
-
-
-
-
Constructor Detail
-
ChildrenProviderSorting
public ChildrenProviderSorting(@Nonnull IChildrenProvider<CHILDTYPE> aCP, @Nonnull Comparator<? super CHILDTYPE> aComparator)
Constructor.- Parameters:
aCP- The children provider to be wrappedaComparator- The comparator to be used for sorting children.
-
-
Method Detail
-
getChildrenProvider
@Nonnull public IChildrenProvider<CHILDTYPE> getChildrenProvider()
-
getComparator
@Nonnull public Comparator<? super CHILDTYPE> getComparator()
-
hasChildren
public final boolean hasChildren(@Nullable CHILDTYPE aCurrent)
Description copied from interface:IChildrenProviderCheck if an item has children.- Specified by:
hasChildrenin interfaceIChildrenProvider<CHILDTYPE>- Parameters:
aCurrent- The object to determine the children of. Nonullor non-nullconstraint possible.- Returns:
trueif this item has children,falseotherwise.
-
getChildCount
public final int getChildCount(@Nullable CHILDTYPE aCurrent)
- Specified by:
getChildCountin interfaceIChildrenProvider<CHILDTYPE>- Parameters:
aCurrent- The object to determine the children count of. Nonullor non-nullconstraint possible.- Returns:
- The number of contained direct children. Always ≥ 0.
-
getAllChildren
@Nullable public ICommonsList<? extends CHILDTYPE> getAllChildren(@Nullable CHILDTYPE aCurrent)
Description copied from interface:IChildrenProviderGet the children of the passed object.- Specified by:
getAllChildrenin interfaceIChildrenProvider<CHILDTYPE>- Parameters:
aCurrent- The object to determine the children of. Nonullor non-nullconstraint possible.- Returns:
- The child objects, or
nullif there are no children. Ifnullis passed, the resolver is expected to return any possible top level (root) elements. This method may NOT returnnullif the call toIChildrenProvider.hasChildren(Object)with the same object returnedtrue.
-
-