@Immutable public static class ImmutableChildReferences.Segmented extends AbstractChildReferences
AbstractChildReferences.ChildReferenceWithNameIterator
ChildReferences.BasicContext, ChildReferences.Changes, ChildReferences.ChildInsertions, ChildReferences.Context, ChildReferences.NoChanges, ChildReferences.NoContext, ChildReferences.NoSnsIndexesContext, ChildReferences.SingleNameContext, ChildReferences.WithChanges
Modifier and Type | Field and Description |
---|---|
protected WorkspaceCache |
cache |
protected long |
totalSize |
UNKNOWN_SIZE
Constructor and Description |
---|
ImmutableChildReferences.Segmented(WorkspaceCache cache,
ChildReferences firstSegment,
DocumentTranslator.ChildReferencesInfo info) |
Modifier and Type | Method and Description |
---|---|
Iterator<NodeKey> |
getAllKeys()
Get the keys for all of the children.
|
ChildReference |
getChild(Name name,
int snsIndex,
ChildReferences.Context context)
Look for the child reference that has the given name and SNS index.
|
ChildReference |
getChild(NodeKey key)
Look for the child reference that has the node key.
|
ChildReference |
getChild(NodeKey key,
ChildReferences.Context context)
Look for the child reference that has the node key.
|
int |
getChildCount(Name name)
Return the number of nodes that have the supplied name.
|
boolean |
hasChild(NodeKey key)
Determine if this contains a reference to the specified child.
|
Iterator<ChildReference> |
iterator()
Get an iterator over all of the children.
|
Iterator<ChildReference> |
iterator(Name name)
Get an iterator over all of the children that have same name matching the supplied value.
|
long |
size()
Get the total number of child references for the node, including all subsequent blocks of ChildReferences.
|
boolean |
supportsGetChildReferenceByKey()
Return whether it is possible/feasible to
find a ChildReference for a child node given
only its NodeKey. |
StringBuilder |
toString(StringBuilder sb) |
protected final WorkspaceCache cache
protected final long totalSize
public ImmutableChildReferences.Segmented(WorkspaceCache cache, ChildReferences firstSegment, DocumentTranslator.ChildReferencesInfo info)
public long size()
ChildReferences
ChildReferences.UNKNOWN_SIZE
public boolean supportsGetChildReferenceByKey()
ChildReferences
find
a ChildReference for a child node given
only its NodeKey. Implementations that have very large numbers of children may provide an alternative way to
lookup
a child reference directly. In such cases, this method may
return false.supportsGetChildReferenceByKey
in interface ChildReferences
supportsGetChildReferenceByKey
in class AbstractChildReferences
ChildReferences.getChild(NodeKey)
and ChildReferences.getChild(NodeKey, Context)
should be used to find the
ChildReference, or false if doing so is not recommended.public int getChildCount(Name name)
ChildReferences
name
- the namepublic ChildReference getChild(Name name, int snsIndex, ChildReferences.Context context)
ChildReferences
name
- the name for the nodesnsIndex
- the same-name-sibling index; must be positivecontext
- the context in which the child should be evaluated; may be null if there is no contextpublic boolean hasChild(NodeKey key)
ChildReferences
key
- the node key of the childpublic ChildReference getChild(NodeKey key)
ChildReferences
key
- the node key of the childpublic ChildReference getChild(NodeKey key, ChildReferences.Context context)
ChildReferences
key
- the node key of the childcontext
- the context in which the child should be evaluated; may be null if there is no contextpublic Iterator<ChildReference> iterator(Name name)
ChildReferences
iterator
in interface ChildReferences
iterator
in class AbstractChildReferences
name
- the name of the same-name-sibling nodes; may not be nullpublic Iterator<ChildReference> iterator()
ChildReferences
public Iterator<NodeKey> getAllKeys()
ChildReferences
public StringBuilder toString(StringBuilder sb)
toString
in class AbstractChildReferences
Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.