Class AbstractDataTreeIterator<D,N extends TreeNode<D,?>>
- java.lang.Object
-
- org.arakhne.afc.math.tree.iterator.AbstractDataTreeIterator<D,N>
-
- Type Parameters:
D
- is the type of the data inside the treeN
- is the type of the tree nodes.
- All Implemented Interfaces:
Iterator<D>
,DataSelectionTreeIterator<D,N>
- Direct Known Subclasses:
DataBroadFirstTreeIterator
,InfixDataDepthFirstTreeIterator
,PostfixDataDepthFirstTreeIterator
,PrefixDataDepthFirstTreeIterator
public abstract class AbstractDataTreeIterator<D,N extends TreeNode<D,?>> extends Object implements DataSelectionTreeIterator<D,N>
This class is an iterator on a tree that replies the user data.This iterator go thru the tree according to the node iterator passed to the constructor.
- Since:
- 13.0
- Version:
- 17.0 2020-01-04 14:41:41
- Author:
- Stéphane GALLAND
- Maven Group Id:
- org.arakhne.afc.core
- Maven Artifact Id:
- mathtree
-
-
Field Summary
Fields Modifier and Type Field Description protected NodeSelectionTreeIterator<N>
nodeIterator
Node iterator.
-
Constructor Summary
Constructors Constructor Description AbstractDataTreeIterator(NodeSelectionTreeIterator<N> nodeIterator, DataSelector<D> dataSelector)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
hasNext()
D
next()
protected void
onAfterNodeData(N node)
Invoked after all the data from the given node was treated by the iterator.protected void
onBeforeNodeData(N node)
Invoked before any data from the given node was treated by the iterator.protected void
onDataSelected(N node, D data)
Invoked when a data was selected by the iterator for the next invocation ofnext()
.void
remove()
void
setDataSelector(DataSelector<D> selector)
Set the data selector used by this iterator.void
setNodeSelector(NodeSelector<N> selector)
Set the node selector used by this iterator.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Field Detail
-
nodeIterator
protected final NodeSelectionTreeIterator<N extends TreeNode<D,?>> nodeIterator
Node iterator.
-
-
Constructor Detail
-
AbstractDataTreeIterator
public AbstractDataTreeIterator(NodeSelectionTreeIterator<N> nodeIterator, DataSelector<D> dataSelector)
Constructor.- Parameters:
nodeIterator
- is the iterator on the nodes.dataSelector
- permits to filter the user data repliable by this iterator.
-
-
Method Detail
-
setDataSelector
public void setDataSelector(DataSelector<D> selector)
Description copied from interface:DataSelectionTreeIterator
Set the data selector used by this iterator.- Specified by:
setDataSelector
in interfaceDataSelectionTreeIterator<D,N extends TreeNode<D,?>>
- Parameters:
selector
- permits to filter the user data that will be replied by this iterator.
-
setNodeSelector
public void setNodeSelector(NodeSelector<N> selector)
Description copied from interface:DataSelectionTreeIterator
Set the node selector used by this iterator.- Specified by:
setNodeSelector
in interfaceDataSelectionTreeIterator<D,N extends TreeNode<D,?>>
- Parameters:
selector
- permits to filter the node that will be replied or traversed by this iterator.
-
onDataSelected
protected void onDataSelected(N node, D data)
Invoked when a data was selected by the iterator for the next invocation ofnext()
.- Parameters:
node
- is the node that is containing the data.data
- is the selected data.
-
onBeforeNodeData
protected void onBeforeNodeData(N node)
Invoked before any data from the given node was treated by the iterator.- Parameters:
node
- is the node that is containing the data.
-
onAfterNodeData
protected void onAfterNodeData(N node)
Invoked after all the data from the given node was treated by the iterator.- Parameters:
node
- is the node that is containing the data.
-
-