Class ChildrenProviderHierarchyVisitor<CHILDTYPE>
- java.lang.Object
-
- com.helger.commons.hierarchy.visit.ChildrenProviderHierarchyVisitor<CHILDTYPE>
-
- Type Parameters:
CHILDTYPE- The type of children to visit
- All Implemented Interfaces:
IHierarchyVisitor<CHILDTYPE>
@Immutable public class ChildrenProviderHierarchyVisitor<CHILDTYPE> extends Object implements IHierarchyVisitor<CHILDTYPE>
Recursively visit all children provided by a givenIChildrenProviderand call a callback for each visited child.- Author:
- Philip Helger
-
-
Constructor Summary
Constructors Constructor Description ChildrenProviderHierarchyVisitor(IChildrenProvider<CHILDTYPE> aChildrenProvider, IHierarchyVisitorCallback<? super CHILDTYPE> aCallback)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IHierarchyVisitorCallback<? super CHILDTYPE>getCallback()IChildrenProvider<CHILDTYPE>getChildrenProvider()voidvisit(CHILDTYPE aStartObject, boolean bInvokeOnStartObject)Visit all objects, starting specified one.static <CHILDTYPE>
voidvisitAll(IChildrenProvider<CHILDTYPE> aChildrenProvider, IHierarchyVisitorCallback<? super CHILDTYPE> aCallback, boolean bInvokeOnStartObject)static <CHILDTYPE extends IHasChildren<CHILDTYPE>>
voidvisitAll(IHierarchyVisitorCallback<? super CHILDTYPE> aCallback, boolean bInvokeOnStartObject)static <CHILDTYPE>
voidvisitFrom(CHILDTYPE aStartObject, IChildrenProvider<CHILDTYPE> aChildrenProvider, IHierarchyVisitorCallback<? super CHILDTYPE> aCallback, boolean bInvokeOnStartObject)static <CHILDTYPE extends IHasChildren<CHILDTYPE>>
voidvisitFrom(CHILDTYPE aStartObject, IHierarchyVisitorCallback<? super CHILDTYPE> aCallback, boolean bInvokeOnStartObject)
-
-
-
Constructor Detail
-
ChildrenProviderHierarchyVisitor
public ChildrenProviderHierarchyVisitor(@Nonnull IChildrenProvider<CHILDTYPE> aChildrenProvider, @Nonnull IHierarchyVisitorCallback<? super CHILDTYPE> aCallback)
-
-
Method Detail
-
getChildrenProvider
@Nonnull public IChildrenProvider<CHILDTYPE> getChildrenProvider()
- Returns:
- The children provider as passed in the constructor. Never
null.
-
getCallback
@Nonnull public IHierarchyVisitorCallback<? super CHILDTYPE> getCallback()
- Returns:
- The callback to be executed as passed in the constructor. Never
null.
-
visit
public void visit(@Nullable CHILDTYPE aStartObject, boolean bInvokeOnStartObject)
Description copied from interface:IHierarchyVisitorVisit all objects, starting specified one.- Specified by:
visitin interfaceIHierarchyVisitor<CHILDTYPE>- Parameters:
aStartObject- The object to start from. May benullto indicate the hierarchy root.bInvokeOnStartObject-trueto indicate that the callback should also be invoked on the first element,falseto indicate that the callback should only be invoked for the children of the passed element.
-
visitAll
public static <CHILDTYPE extends IHasChildren<CHILDTYPE>> void visitAll(@Nonnull IHierarchyVisitorCallback<? super CHILDTYPE> aCallback, boolean bInvokeOnStartObject)
-
visitAll
public static <CHILDTYPE> void visitAll(@Nonnull IChildrenProvider<CHILDTYPE> aChildrenProvider, @Nonnull IHierarchyVisitorCallback<? super CHILDTYPE> aCallback, boolean bInvokeOnStartObject)
-
visitFrom
public static <CHILDTYPE extends IHasChildren<CHILDTYPE>> void visitFrom(@Nullable CHILDTYPE aStartObject, @Nonnull IHierarchyVisitorCallback<? super CHILDTYPE> aCallback, boolean bInvokeOnStartObject)
-
visitFrom
public static <CHILDTYPE> void visitFrom(@Nullable CHILDTYPE aStartObject, @Nonnull IChildrenProvider<CHILDTYPE> aChildrenProvider, @Nonnull IHierarchyVisitorCallback<? super CHILDTYPE> aCallback, boolean bInvokeOnStartObject)
-
-