com.vaadin.flow.internal.nodefeature.
Class NodeFeature
- java.lang.Object
-
- com.vaadin.flow.internal.nodefeature.NodeFeature
-
All Implemented Interfaces:
Direct Known Subclasses:
public abstract class NodeFeature extends Object implements Serializable
A node feature represents a group of related values and functionality in a state node.
Since:
1.0
Author:
Vaadin Ltd
See Also:
-
-
Constructor Summary
Constructors Constructor and Description NodeFeature(StateNode node)
Creates a new feature for the given node.
-
Method Summary
All Methods Modifier and Type Method and Description boolean
allowsChanges()
Returns
true
if the underlying node may report its changes.protected void
attachPotentialChild(Object child)
Attaches an object if it is a
StateNode
.abstract void
collectChanges(Consumer<NodeChange> collector)
Collects all changes that are recorded for this feature.
protected void
detatchPotentialChild(Object child)
Detaches an object if it is a
StateNode
.abstract void
forEachChild(Consumer<StateNode> action)
Passes each child node instance to the given consumer.
abstract void
generateChangesFromEmpty()
Generates all changes that would be needed to take this node from its initial empty state to its current state.
StateNode
getNode()
Gets the node that this feature belongs to.
void
onAttach(boolean initialAttach)
Called when the state node has been attached to the state tree.
void
onDetach()
Called when the state node has been detached from the state tree.
-
-
-
Constructor Detail
-
NodeFeature
public NodeFeature(StateNode node)
Creates a new feature for the given node.
Parameters:
node
- the node which supports the feature
-
-
Method Detail
-
getNode
public StateNode getNode()
Gets the node that this feature belongs to.
Returns:
the node
-
collectChanges
public abstract void collectChanges(Consumer<NodeChange> collector)
Collects all changes that are recorded for this feature.
Parameters:
collector
- a consumer accepting node changes
-
generateChangesFromEmpty
public abstract void generateChangesFromEmpty()
Generates all changes that would be needed to take this node from its initial empty state to its current state.
-
attachPotentialChild
protected void attachPotentialChild(Object child)
Attaches an object if it is a
StateNode
.Parameters:
child
- the instance to maybe attach
-
detatchPotentialChild
protected void detatchPotentialChild(Object child)
Detaches an object if it is a
StateNode
.Parameters:
child
- the instance to maybe detach
-
forEachChild
public abstract void forEachChild(Consumer<StateNode> action)
Passes each child node instance to the given consumer.
Parameters:
action
- the consumer that accepts each child
-
onAttach
public void onAttach(boolean initialAttach)
Called when the state node has been attached to the state tree.
Parameters:
initialAttach
-true
if this is the first time the node is attached to aStateTree
,false
otherwise
-
onDetach
public void onDetach()
Called when the state node has been detached from the state tree.
-
allowsChanges
public boolean allowsChanges()
Returns
true
if the underlying node may report its changes.If its return value is
false
then this node should be considered as "inactive" and should not send any changes to the client side at all or only changes for features that disallow the changes.Normally features don't control the node behavior so the default implementation returns
true
. The feature which wants to control the node behavior should override this method.Returns:
true
if the feature allows changes for the node,false
otherwiseSee Also:
-
-