| Known Indirect Subclasses |
NodeFilter is used to update nodes and complete children of nodes while applying queries on the fly and keeping track of any child changes. This class does not track value changes as value changes depend on more than just the node itself. Different kind of queries require different kind of implementations of this interface.
| interface | NodeFilter.CompleteChildSource | Since updates to filtered nodes might require nodes to be pulled in from "outside" the node, this interface can help to get complete children that can be pulled in. | |
| abstract boolean |
filtersNodes()
Returns true if children might be filtered due to query criteria
|
| abstract Index |
getIndex()
Returns the index that this filter uses
|
| abstract NodeFilter |
getIndexedFilter()
Returns the index filter that this filter uses to get a NodeFilter that doesn't filter any
children.
|
| abstract IndexedNode |
updateChild(IndexedNode node, ChildKey key, Node newChild, Path affectedPath, NodeFilter.CompleteChildSource source, ChildChangeAccumulator optChangeAccumulator)
Update a single complete child in the snap.
|
| abstract IndexedNode |
updateFullNode(IndexedNode oldSnap, IndexedNode newSnap, ChildChangeAccumulator optChangeAccumulator)
Update a node in full and output any resulting change from this complete update.
|
| abstract IndexedNode |
Returns true if children might be filtered due to query criteria
Returns the index filter that this filter uses to get a NodeFilter that doesn't filter any children.
Update a single complete child in the snap. If the child equals the old child in the snap, this is a no-op. The method expects an indexed snap.
| node | |
|---|---|
| key | |
| newChild | |
| affectedPath | |
| source | |
| optChangeAccumulator |
Update a node in full and output any resulting change from this complete update.
| oldSnap | |
|---|---|
| newSnap | |
| optChangeAccumulator |
Update the priority of the root node
| oldSnap | |
|---|---|
| newPriority |