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 given
IChildrenProvider
and call a callback for each visited child.- Author:
- Philip Helger
-
Constructor Summary
ConstructorsConstructorDescriptionChildrenProviderHierarchyVisitor(IChildrenProvider<CHILDTYPE> aChildrenProvider, IHierarchyVisitorCallback<? super CHILDTYPE> aCallback) -
Method Summary
Modifier and TypeMethodDescriptionIHierarchyVisitorCallback<? super CHILDTYPE> voidVisit 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 Details
-
ChildrenProviderHierarchyVisitor
public ChildrenProviderHierarchyVisitor(@Nonnull IChildrenProvider<CHILDTYPE> aChildrenProvider, @Nonnull IHierarchyVisitorCallback<? super CHILDTYPE> aCallback)
-
-
Method Details
-
getChildrenProvider
- Returns:
- The children provider as passed in the constructor. Never
null.
-
getCallback
- Returns:
- The callback to be executed as passed in the constructor. Never
null.
-
visit
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)
-