@Immutable public static class ImmutableChildReferences.Segmented extends AbstractChildReferences
AbstractChildReferences.ChildReferenceWithNameIteratorChildReferences.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()
ChildReferencesChildReferences.UNKNOWN_SIZEpublic boolean supportsGetChildReferenceByKey()
ChildReferencesfind 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 ChildReferencessupportsGetChildReferenceByKey in class AbstractChildReferencesChildReferences.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)
ChildReferencesname - the namepublic ChildReference getChild(Name name, int snsIndex, ChildReferences.Context context)
ChildReferencesname - 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)
ChildReferenceskey - the node key of the childpublic ChildReference getChild(NodeKey key)
ChildReferenceskey - the node key of the childpublic ChildReference getChild(NodeKey key, ChildReferences.Context context)
ChildReferenceskey - 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)
ChildReferencesiterator in interface ChildReferencesiterator in class AbstractChildReferencesname - the name of the same-name-sibling nodes; may not be nullpublic Iterator<ChildReference> iterator()
ChildReferencespublic Iterator<NodeKey> getAllKeys()
ChildReferencespublic StringBuilder toString(StringBuilder sb)
toString in class AbstractChildReferencesCopyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.