@Immutable public class PathValueFactory extends AbstractValueFactory<Path> implements PathFactory
ValueFactory
for PropertyType.NAME
values.AbstractValueFactory.ConvertingIterator<ValueType>
Modifier and Type | Field and Description |
---|---|
protected static Pattern |
DELIMITER_PATTERN
Regular expression used to identify the different segments in a path, using the standard '/' delimiter.
|
protected static Pattern |
SEGMENT_PATTERN
Regular expression used to identify the different parts of a segment.
|
decoder, propertyType, valueFactories
DEFAULT_DECODER, DEFAULT_ENCODER
Constructor and Description |
---|
PathValueFactory(TextDecoder decoder,
ValueFactories factories)
Create a new instance.
|
Modifier and Type | Method and Description |
---|---|
Path |
create(BigDecimal value)
Create a value from a decimal.
|
Path |
create(BinaryValue value)
Create a value from the binary content given by the supplied stream.
|
Path |
create(boolean value)
Create a boolean from a string.
|
Path |
create(byte[] value)
Create a value from the binary content given by the supplied array.
|
Path |
create(Calendar value)
Create a value from a Calendar instance.
|
Path |
create(Date value)
Create a value from a date.
|
Path |
create(DateTime value)
Create a value from a date-time instant.
|
Path |
create(double value)
Create a value from a double.
|
Path |
create(float value)
Create a value from a float.
|
Path |
create(InputStream stream)
Create a value from the binary content given by the supplied stream.
|
Path |
create(int value)
Create a value from an integer.
|
Path |
create(long value)
Create a long from a string.
|
Path |
create(Name value)
Create a value from a name.
|
Path |
create(NodeKey value)
Create a value from a
NodeKey . |
Path |
create(Path.Segment value)
Create a value from a path segment.
|
Path |
create(Path value)
Create a value from a path.
|
Path |
create(Path parentPath,
Iterable<Path.Segment> segments)
Create a path by appending the supplied names to the parent path.
|
Path |
create(Path parentPath,
Name... segmentNames)
Create a path by appending the supplied names to the parent path.
|
Path |
create(Path parentPath,
Name segmentName,
int index)
Create a path by appending the supplied names to the parent path.
|
Path |
create(Path parentPath,
Path.Segment... segments)
Create a path by appending the supplied names to the parent path.
|
Path |
create(Path parentPath,
Path childPath)
Create a path by appending the supplied relative path to the supplied parent path.
|
Path |
create(Path parentPath,
String subpath)
Create a path by appending the supplied names to the parent path.
|
Path |
create(Path parentPath,
String segmentName,
int index)
Create a path by appending the supplied names to the parent path.
|
Path |
create(Reference value)
Create a value from a reference.
|
Path |
create(String value)
Create a value from a string, using no decoding.
|
Path |
create(String value,
TextDecoder decoder)
Create a value from a string, using the supplied decoder.
|
Path |
create(URI value)
Create a value from a URI.
|
Path |
create(UUID value)
Create a value from a UUID.
|
Path |
createAbsolutePath(Iterable<Path.Segment> segments)
Create an absolute path with the supplied segments, in order.
|
Path |
createAbsolutePath(Name... segmentNames)
Create an absolute path with the supplied segment names, in order.
|
Path |
createAbsolutePath(Path.Segment... segments)
Create an absolute path with the supplied segments, in order.
|
Path[] |
createEmptyArray(int length)
Creates an empty array of the given type.
|
Path |
createRelativePath()
Create an empty relative path (i.e., equivalent to
createRelativePath (
Path.SELF_SEGMENT )). |
Path |
createRelativePath(Iterable<Path.Segment> segments)
Create a relative path with the supplied segments, in order.
|
Path |
createRelativePath(Name... segmentNames)
Create a relative path with the supplied segment names, in order.
|
Path |
createRelativePath(Path.Segment... segments)
Create a relative path with the supplied segments, in order.
|
Path |
createRootPath()
Create an absolute root path.
|
Path.Segment |
createSegment(Name segmentName)
Create a path segment given the supplied segment name.
|
Path.Segment |
createSegment(Name segmentName,
int index)
Create a path segment given the supplied segment name and index.
|
Path.Segment |
createSegment(String segmentName)
Create a path segment given the supplied segment name.
|
Path.Segment |
createSegment(String segmentName,
int index)
Create a path segment given the supplied segment name and index.
|
Path.Segment |
createSegment(String segmentName,
TextDecoder decoder)
Create a path segment given the supplied segment name.
|
protected ValueFactory<Name> |
getNameValueFactory() |
PathFactory |
with(ValueFactories valueFactories)
Return a potentially new copy of this factory that uses the supplied ValueFactories object.
|
create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, getDecoder, getDecoder, getPropertyType, getStringValueFactory
protected static final Pattern DELIMITER_PATTERN
/
protected static final Pattern SEGMENT_PATTERN
([ˆ*:/\[\]|]+)(:([ˆ*:/\[\]|]+))?(\[(\d+)])?where the first part is accessed with group 1, the second part is accessed with group 3, and the index is accessed with group 5.
public PathValueFactory(TextDecoder decoder, ValueFactories factories)
decoder
- the text decoder; may be null if the default decoder should be usedfactories
- the set of value factories, used to obtain the string value
factory
; may not be nullpublic PathFactory with(ValueFactories valueFactories)
ValueFactory
with
in interface PathFactory
with
in interface ValueFactory<Path>
valueFactories
- the value factories object; may not be nullprotected final ValueFactory<Name> getNameValueFactory()
public Path createRootPath()
PathFactory
createRootPath
in interface PathFactory
public Path create(String value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the string from which the value is to be createdValueFactory.create(String, TextDecoder)
public Path create(String value, TextDecoder decoder)
ValueFactory
create
in interface ValueFactory<Path>
value
- the string from which the value is to be createddecoder
- the decoder that should be used; if null, the default decoder
is usedValueFactory.create(String)
public Path create(int value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the integer from which the value is to be createdpublic Path create(long value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the string from which the long is to be createdpublic Path create(boolean value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the boolean from which the value is to be createdpublic Path create(float value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the float from which the value is to be createdpublic Path create(double value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the double from which the value is to be createdpublic Path create(BigDecimal value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the decimal from which the value is to be createdpublic Path create(Calendar value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the Calendar instance from which the value is to be createdpublic Path create(Date value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the date from which the value is to be createdpublic Path create(DateTime value) throws ValueFormatException
ValueFactory
create
in interface ValueFactory<Path>
value
- the date-time instant from which the value is to be createdValueFormatException
- if the conversion from a Date could not be performedpublic Path create(Name value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the name from which the value is to be createdpublic Path create(Path value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the path from which the value is to be createdpublic Path create(Path.Segment value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the path segment from which the value is to be createdpublic Path createAbsolutePath(Name... segmentNames)
PathFactory
createAbsolutePath
in interface PathFactory
segmentNames
- the names of the segmentspublic Path createAbsolutePath(Path.Segment... segments)
PathFactory
createAbsolutePath
in interface PathFactory
segments
- the segmentspublic Path createAbsolutePath(Iterable<Path.Segment> segments)
PathFactory
createAbsolutePath
in interface PathFactory
segments
- the segmentspublic Path createRelativePath()
PathFactory
createRelativePath
(
Path.SELF_SEGMENT
)). Subsequent calls will always return the same instance.createRelativePath
in interface PathFactory
public Path createRelativePath(Name... segmentNames)
PathFactory
createRelativePath
in interface PathFactory
segmentNames
- the names of the segmentspublic Path createRelativePath(Path.Segment... segments)
PathFactory
createRelativePath
in interface PathFactory
segments
- the segmentspublic Path createRelativePath(Iterable<Path.Segment> segments)
PathFactory
createRelativePath
in interface PathFactory
segments
- the segmentspublic Path create(Path parentPath, Path childPath)
PathFactory
absolute
if the supplied parent path is absolute.create
in interface PathFactory
parentPath
- the path that is to provide the basis for the new pathchildPath
- the path that should be appended to the parent pathpublic Path create(Path parentPath, Name segmentName, int index)
PathFactory
create
in interface PathFactory
parentPath
- the path that is to provide the basis for the new pathsegmentName
- the name of the segment to be appended to the parent pathindex
- the index for the new segmentpublic Path create(Path parentPath, String segmentName, int index)
PathFactory
create
in interface PathFactory
parentPath
- the path that is to provide the basis for the new pathsegmentName
- the name of the segment to be appended to the parent pathindex
- the index for the new segmentpublic Path create(Path parentPath, Name... segmentNames)
PathFactory
create
in interface PathFactory
parentPath
- the path that is to provide the basis for the new pathsegmentNames
- the names of the segments that are to be appended, in order, to the parent pathpublic Path create(Path parentPath, Path.Segment... segments)
PathFactory
create
in interface PathFactory
parentPath
- the path that is to provide the basis for the new pathsegments
- the segments that are to be appended, in order, to the parent pathpublic Path create(Path parentPath, Iterable<Path.Segment> segments)
PathFactory
create
in interface PathFactory
parentPath
- the path that is to provide the basis for the new pathsegments
- the segments that are to be appended, in order, to the parent pathpublic Path create(Path parentPath, String subpath)
PathFactory
create
in interface PathFactory
parentPath
- the path that is to provide the basis for the new pathsubpath
- the subpath to be appended to the parent path, which must be in the form of a relative pathpublic Path.Segment createSegment(Name segmentName)
PathFactory
createSegment
in interface PathFactory
segmentName
- the name of the segmentpublic Path.Segment createSegment(Name segmentName, int index)
PathFactory
createSegment
in interface PathFactory
segmentName
- the name of the new segmentindex
- the index of the new segmentpublic Path.Segment createSegment(String segmentName)
PathFactory
[n]
" at the end of the name, where n is a positive integer. Note that the
same-name-sibling index is 1-based, not zero-based.createSegment
in interface PathFactory
segmentName
- the name of the segmentpublic Path.Segment createSegment(String segmentName, TextDecoder decoder)
PathFactory
[n]
" at the end of the name, where n is a positive integer. Note that the
same-name-sibling index is 1-based, not zero-based.createSegment
in interface PathFactory
segmentName
- the name of the segmentdecoder
- the decoder that should be used to decode the qualified namepublic Path.Segment createSegment(String segmentName, int index)
PathFactory
createSegment
in interface PathFactory
segmentName
- the name of the new segmentindex
- the index of the new segmentpublic Path create(Reference value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the reference from which the value is to be createdpublic Path create(URI value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the URI from which the value is to be createdpublic Path create(UUID value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the UUID from which the value is to be createdpublic Path create(NodeKey value) throws ValueFormatException
ValueFactory
NodeKey
.create
in interface ValueFactory<Path>
value
- the node key from which the value is to be createdValueFormatException
- if the conversion from a NodeKey could not be performedpublic Path create(byte[] value)
ValueFactory
create
in interface ValueFactory<Path>
value
- the content to be used to create the valuepublic Path create(BinaryValue value) throws ValueFormatException, IoException
ValueFactory
create
in interface ValueFactory<Path>
value
- the binary object to be used to create the valueValueFormatException
- if the conversion from the binary object could not be performedIoException
- If an unexpected problem occurs while accessing the supplied binary value (such as an
IOException
).public Path create(InputStream stream) throws IoException
ValueFactory
create
in interface ValueFactory<Path>
stream
- the stream containing the content to be used to create the valueIoException
- If an unexpected problem occurs while accessing the supplied stream (such as an IOException
).public Path[] createEmptyArray(int length)
ValueFactory
createEmptyArray
in interface ValueFactory<Path>
length
- the length of the array; must be a positive valueCopyright © 2008–2016 JBoss, a division of Red Hat. All rights reserved.