|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jboss.dna.graph.property.basic.AbstractPath
@Immutable public abstract class AbstractPath
An abstract foundation for different Path
implementations. This class does not manage any of the Path
's state,
but it does provide implementations for most of the methods based upon a few abstract methods. For example, any implementaton
that requires the path's segments
are written to use the iterator()
, since that is likely more
efficient for the majority of implementations.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.jboss.dna.graph.property.Path |
---|
Path.Segment |
Field Summary | |
---|---|
static Path |
SELF_PATH
|
Fields inherited from interface org.jboss.dna.graph.property.Path |
---|
DEFAULT_DECODER, DEFAULT_ENCODER, DEFAULT_INDEX, DELIMITER, DELIMITER_STR, JSR283_DECODER, JSR283_ENCODER, NO_OP_DECODER, NO_OP_ENCODER, PARENT, PARENT_NAME, PARENT_SEGMENT, SELF, SELF_NAME, SELF_SEGMENT, URL_DECODER, URL_ENCODER |
Constructor Summary | |
---|---|
AbstractPath()
|
Method Summary | |
---|---|
int |
compareTo(Path that)
|
boolean |
endsWith(Name nameOfLastSegment)
Determine if the path's Path.getLastSegment() has the supplied name and no SNS index . |
boolean |
endsWith(Name nameOfLastSegment,
int snsIndex)
Determine if the path's Path.getLastSegment() has the supplied name and SNS index . |
boolean |
equals(Object obj)
|
Path |
getCanonicalPath()
Get the canonical form of this path. |
Path |
getCommonAncestor(Path that)
Find the lowest common ancestor of this path and the supplied path. |
Path.Segment |
getLastSegment()
Get the last segment in this path. |
Path |
getNormalizedPath()
Get a normalized path with as many ".." segments and all "." resolved. |
Path |
getParent()
Return the path to the parent, or this path if it is the root . |
Path.Segment |
getSegment(int index)
Get the segment at the supplied index. |
Path.Segment[] |
getSegmentsArray()
Obtain a copy of the segments in this path. |
String |
getString()
Get the string form of the object. |
String |
getString(NamespaceRegistry namespaceRegistry)
Get the string form of the object, using the supplied namespace registry to convert any namespace URIs to prefixes. |
String |
getString(NamespaceRegistry namespaceRegistry,
TextEncoder encoder)
Get the encoded string form of the object, using the supplied namespace registry to convert the any namespace URIs to prefixes. |
String |
getString(NamespaceRegistry namespaceRegistry,
TextEncoder encoder,
TextEncoder delimiterEncoder)
Get the encoded string form of the object, using the supplied namespace registry to convert the names' namespace URIs to prefixes and the supplied encoder to encode characters, and using the second delimiter to encode (or convert) the delimiter used between the namespace prefix and the local part of any names. |
String |
getString(TextEncoder encoder)
Get the encoded string form of the object, using the supplied encoder to encode characters. |
int |
hashCode()
|
boolean |
hasSameAncestor(Path that)
Determine whether this path and the supplied path have the same immediate ancestor. |
boolean |
isAncestorOf(Path decendant)
Determine whether this path is an ancestor of the supplied path. |
boolean |
isAtOrAbove(Path other)
Determine whether this path is the same as to or a ancestor of the
supplied path. |
boolean |
isAtOrBelow(Path other)
Determine whether this path is the same as to or a decendant of the
supplied path. |
boolean |
isDecendantOf(Path ancestor)
Determine whether this path is an decendant of the supplied path. |
boolean |
isSameAs(Path other)
Determine whether this path represents the same as the supplied path. |
Iterator<Path.Segment> |
iterator()
|
Iterator<Path> |
pathsFromRoot()
Return an iterator that walks the paths from the root path down to this path. |
Path |
relativeTo(Path startingPath)
Get a relative path from the supplied path to this path. |
Path |
relativeToRoot()
Obtain a path that is relative to the root node. |
Path |
resolve(Path relativePath)
Get the absolute path by resolving the supplied relative (non-absolute) path against this absolute path. |
Path |
resolveAgainst(Path absolutePath)
Get the absolute path by resolving this relative (non-absolute) path against the supplied absolute path. |
Path |
subpath(int beginIndex)
Return a new path consisting of the segments starting at beginIndex index (inclusive). |
Path |
subpath(int beginIndex,
int endIndex)
Return a new path consisting of the segments between the beginIndex index (inclusive) and the endIndex
index (exclusive). |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.jboss.dna.graph.property.Path |
---|
getAncestor, getSegmentsList, isAbsolute, isNormalized, isRoot, size |
Field Detail |
---|
public static final Path SELF_PATH
Constructor Detail |
---|
public AbstractPath()
Method Detail |
---|
public Path getCanonicalPath()
absolute
and Path.isNormalized()
.
getCanonicalPath
in interface Path
Path.getCanonicalPath()
public Path getCommonAncestor(Path that)
getCommonAncestor
in interface Path
that
- the other path
public Path.Segment getLastSegment()
getLastSegment
in interface Path
public boolean endsWith(Name nameOfLastSegment)
Path.getLastSegment()
has the supplied name and no SNS index
.
endsWith
in interface Path
nameOfLastSegment
- the name
Path.endsWith(org.jboss.dna.graph.property.Name)
public boolean endsWith(Name nameOfLastSegment, int snsIndex)
Path.getLastSegment()
has the supplied name and SNS index
.
endsWith
in interface Path
nameOfLastSegment
- the namesnsIndex
- the SNS index
Path.endsWith(org.jboss.dna.graph.property.Name, int)
public Path getParent()
root
. This is an efficient operation that does
not require copying any data.
getParent
in interface Path
Path.getParent()
public Path.Segment getSegment(int index)
getSegment
in interface Path
index
- the index
public Path.Segment[] getSegmentsArray()
getSegmentsArray
in interface Path
public Path getNormalizedPath()
getNormalizedPath
in interface Path
public String getString()
default encoder
is used to encode characters.
getString
in interface Readable
Readable.getString(TextEncoder)
public String getString(TextEncoder encoder)
getString
in interface Readable
encoder
- the encoder to use, or null if the default encoder
should be used
Readable.getString()
public String getString(NamespaceRegistry namespaceRegistry)
default encoder
is used to encode characters.
getString
in interface Readable
namespaceRegistry
- the namespace registry that should be used to obtain the prefix for any namespace URIs
Readable.getString(NamespaceRegistry,TextEncoder)
public String getString(NamespaceRegistry namespaceRegistry, TextEncoder encoder)
getString
in interface Readable
namespaceRegistry
- the namespace registry that should be used to obtain the prefix for the namespace URIsencoder
- the encoder to use, or null if the default encoder
should be used
Readable.getString(NamespaceRegistry)
public String getString(NamespaceRegistry namespaceRegistry, TextEncoder encoder, TextEncoder delimiterEncoder)
getString
in interface Readable
namespaceRegistry
- the namespace registry that should be used to obtain the prefix for the namespace URIs in the
segment names
encoder
- the encoder to use for encoding the local part and namespace prefix of any names, or null if the
default encoder
should be useddelimiterEncoder
- the encoder to use for encoding the delimiter between the local part and namespace prefix of any
names, or null if the standard delimiter should be used
Readable.getString(org.jboss.dna.graph.property.NamespaceRegistry,
org.jboss.dna.common.text.TextEncoder, org.jboss.dna.common.text.TextEncoder)
public boolean hasSameAncestor(Path that)
hasSameAncestor
in interface Path
that
- the other path
public boolean isAncestorOf(Path decendant)
isAncestorOf
in interface Path
decendant
- the path that may be the decendant; may be null
public boolean isAtOrBelow(Path other)
same as
to or a decendant of
the
supplied path. This method is equivalent to (but may be more efficient than) calling isSame(other) ||
isAncestor(other)
.
isAtOrBelow
in interface Path
other
- the other path to compare with this path; may be null
Path.isAtOrBelow(org.jboss.dna.graph.property.Path)
public boolean isAtOrAbove(Path other)
same as
to or a ancestor of
the
supplied path. This method is equivalent to (but may be more efficient than) calling isSame(other) ||
isAncestor(other)
, and is a convenience method that is identical to calling other.isAtOrBelow(this)
.
isAtOrAbove
in interface Path
other
- the other path to compare with this path; may be null
Path.isAtOrAbove(org.jboss.dna.graph.property.Path)
public boolean isDecendantOf(Path ancestor)
isDecendantOf
in interface Path
ancestor
- the path that may be the ancestor; may be null
public boolean isSameAs(Path other)
this.compareTo(other) == 0
.
isSameAs
in interface Path
other
- the other path to compare with this path; may be null
public Iterator<Path.Segment> iterator()
iterator
in interface Iterable<Path.Segment>
iterator
in interface Path
public Iterator<Path> pathsFromRoot()
pathsFromRoot
in interface Path
Path.pathsFromRoot()
public Path relativeToRoot()
Path.relativeTo(Path)
with the root
path.
relativeToRoot
in interface Path
Path.relativeToRoot()
public Path relativeTo(Path startingPath)
relativeTo
in interface Path
startingPath
- the path specifying the starting point for the new relative path; may not be null
public Path resolve(Path relativePath)
resolve
in interface Path
relativePath
- the relative path that is to be resolved against this path
public Path resolveAgainst(Path absolutePath)
resolveAgainst
in interface Path
absolutePath
- the absolute path to which this relative path should be resolve
public Path subpath(int beginIndex)
beginIndex
index (inclusive). This is equivalent to
calling path.subpath(beginIndex,path.size()-1)
.
subpath
in interface Path
beginIndex
- the beginning index, inclusive.
public Path subpath(int beginIndex, int endIndex)
beginIndex
index (inclusive) and the endIndex
index (exclusive).
subpath
in interface Path
beginIndex
- the beginning index, inclusive.endIndex
- the ending index, exclusive.
public int hashCode()
hashCode
in class Object
public boolean equals(Object obj)
equals
in class Object
public int compareTo(Path that)
compareTo
in interface Comparable<Path>
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |