Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.modeshape.graph.property.basic
Class PathValueFactory

    java.lang.Object
      org.modeshape.graph.property.basic.AbstractValueFactory<Path>
          org.modeshape.graph.property.basic.PathValueFactory

All Implemented Interfaces:
  PathFactory, ValueFactory<Path>

    @Immutable
    public class PathValueFactory

extends AbstractValueFactory<Path>
implements PathFactory

The standard `ValueFactory` for `PropertyType.NAME` values.

Nested Class Summary

Nested classes/interfaces inherited from class org.modeshape.graph.property.basic.AbstractValueFactory
`AbstractValueFactory.ConvertingIterator<ValueType>`

Field Summary
`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.

Fields inherited from interface org.modeshape.graph.property.ValueFactory
`DEFAULT_DECODER, DEFAULT_ENCODER`

Constructor Summary
`PathValueFactory(TextDecoder decoder, ValueFactory<String> stringValueFactory, ValueFactory<Name> nameValueFactory)`

Method Summary
`Path` | `create(BigDecimal value)` Create a value from a decimal.
`Path` | `create(Binary 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, long approximateLength)` 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(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(Reader reader, long approximateLength)` Create a value from a the binary content given by the supplied reader.
`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.
`protected Path[]` | `createEmptyArray(int length)`
`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()`

Methods inherited from class org.modeshape.graph.property.basic.AbstractValueFactory
`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`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.modeshape.graph.property.ValueFactory
`create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, getPropertyType`

Field Detail

### DELIMITER_PATTERN

    protected static final Pattern DELIMITER_PATTERN

  Regular expression used to identify the different segments in a path, using the standard '/' delimiter. The expression is simply:

       /

### SEGMENT_PATTERN

    protected static final Pattern SEGMENT_PATTERN

  Regular expression used to identify the different parts of a segment. The expression is

       ([ˆ*:/\[\]|]+)(:([ˆ*:/\[\]|]+))?(\[(\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.

Constructor Detail

### PathValueFactory

    public PathValueFactory(TextDecoder decoder,
                            ValueFactory<String> stringValueFactory,
                            ValueFactory<Name> nameValueFactory)

Method Detail

### getNameValueFactory

    protected ValueFactory<Name> getNameValueFactory()

  Returns:
    nameValueFactory

### createRootPath

    public Path createRootPath()

  Create an absolute root path. Subsequent calls will always return the same instance.

  Specified by:
    `createRootPath` in interface `PathFactory`
  Returns:
    the new path
  See Also:
    `PathFactory.createRootPath()`

### create

    public Path create(String value)

  Create a value from a string, using no decoding.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the string from which the value is to be created
  Returns:
    the value, or null if the supplied string is null
  See Also:
    `ValueFactory.create(String, TextDecoder)`

### create

    public Path create(String value,
                       TextDecoder decoder)

  Create a value from a string, using the supplied decoder.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the string from which the value is to be created
    `decoder` - the decoder that should be used; if null, the `default decoder` is used
  Returns:
    the value, or null if the supplied string is null
  See Also:
    `ValueFactory.create(String)`

### create

    public Path create(int value)

  Create a value from an integer.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the integer from which the value is to be created
  Returns:
    the value; never null

### create

    public Path create(long value)

  Create a long from a string.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the string from which the long is to be created
  Returns:
    the value; never null

### create

    public Path create(boolean value)

  Create a boolean from a string.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the boolean from which the value is to be created
  Returns:
    the value; never null

### create

    public Path create(float value)

  Create a value from a float.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the float from which the value is to be created
  Returns:
    the value; never null

### create

    public Path create(double value)

  Create a value from a double.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the double from which the value is to be created
  Returns:
    the value; never null

### create

    public Path create(BigDecimal value)

  Create a value from a decimal.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the decimal from which the value is to be created
  Returns:
    the value, or null if the supplied decimal is null

### create

    public Path create(Calendar value)

  Create a value from a Calendar instance.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the Calendar instance from which the value is to be created
  Returns:
    the value, or null if the supplied Calendar is null

### create

    public Path create(Date value)

  Create a value from a date.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the date from which the value is to be created
  Returns:
    the value, or null if the supplied date is null

### create

    public Path create(DateTime value)
                throws ValueFormatException

  Create a value from a date-time instant.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the date-time instant from which the value is to be created
  Returns:
    the value, or null if the supplied date is null
  Throws:
    `ValueFormatException` - if the conversion from a Date could not be performed
  See Also:
    `ValueFactory.create(org.modeshape.graph.property.DateTime)`

### create

    public Path create(Name value)

  Create a value from a name.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the name from which the value is to be created
  Returns:
    the value, or null if the supplied name is null

### create

    public Path create(Path value)

  Create a value from a path.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the path from which the value is to be created
  Returns:
    the value, or null if the supplied path is null

### create

    public Path create(Path.Segment value)

  Create a value from a path segment.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the path segment from which the value is to be created
  Returns:
    the value, or null if the supplied path segment is null

### createAbsolutePath

    public Path createAbsolutePath(Name... segmentNames)

  Create an absolute path with the supplied segment names, in order. If no segments are provided, the result will be the root path.

  Specified by:
    `createAbsolutePath` in interface `PathFactory`
  Parameters:
    `segmentNames` - the names of the segments
  Returns:
    the new path

### createAbsolutePath

    public Path createAbsolutePath(Path.Segment... segments)

  Create an absolute path with the supplied segments, in order. If no segments are provided, the result will be the root path.

  Specified by:
    `createAbsolutePath` in interface `PathFactory`
  Parameters:
    `segments` - the segments
  Returns:
    the new path

### createAbsolutePath

    public Path createAbsolutePath(Iterable<Path.Segment> segments)

  Create an absolute path with the supplied segments, in order. If no segments are provided, the result will be the root path.

  Specified by:
    `createAbsolutePath` in interface `PathFactory`
  Parameters:
    `segments` - the segments
  Returns:
    the new path
  See Also:
    `PathFactory.createAbsolutePath(java.lang.Iterable)`

### createRelativePath

    public Path createRelativePath()

  Create an empty relative path (i.e., equivalent to `createRelativePath`( `Path.SELF_SEGMENT`)). Subsequent calls will always return the same instance.

  Specified by:
    `createRelativePath` in interface `PathFactory`
  Returns:
    the new path
  See Also:
    `PathFactory.createRelativePath()`

### createRelativePath

    public Path createRelativePath(Name... segmentNames)

  Create a relative path with the supplied segment names, in order. If no segments are provided, the result will be the root path.

  Specified by:
    `createRelativePath` in interface `PathFactory`
  Parameters:
    `segmentNames` - the names of the segments
  Returns:
    the new path

### createRelativePath

    public Path createRelativePath(Path.Segment... segments)

  Create a relative path with the supplied segments, in order. If no segments are provided, the result will be the root path.

  Specified by:
    `createRelativePath` in interface `PathFactory`
  Parameters:
    `segments` - the segments
  Returns:
    the new path

### createRelativePath

    public Path createRelativePath(Iterable<Path.Segment> segments)

  Create a relative path with the supplied segments, in order. If no segments are provided, the result will be the root path.

  Specified by:
    `createRelativePath` in interface `PathFactory`
  Parameters:
    `segments` - the segments
  Returns:
    the new path
  See Also:
    `PathFactory.createRelativePath(java.lang.Iterable)`

### create

    public Path create(Path parentPath,
                       Path childPath)

  Create a path by appending the supplied relative path to the supplied parent path. The resulting path will be `absolute` if the supplied parent path is absolute.

  Specified by:
    `create` in interface `PathFactory`
  Parameters:
    `parentPath` - the path that is to provide the basis for the new path
    `childPath` - the path that should be appended to the parent path
  Returns:
    the new path
  See Also:
    `PathFactory.create(org.modeshape.graph.property.Path, org.modeshape.graph.property.Path)`

### create

    public Path create(Path parentPath,
                       Name segmentName,
                       int index)

  Create a path by appending the supplied names to the parent path.

  Specified by:
    `create` in interface `PathFactory`
  Parameters:
    `parentPath` - the path that is to provide the basis for the new path
    `segmentName` - the name of the segment to be appended to the parent path
    `index` - the index for the new segment
  Returns:
    the new path

### create

    public Path create(Path parentPath,
                       String segmentName,
                       int index)

  Create a path by appending the supplied names to the parent path.

  Specified by:
    `create` in interface `PathFactory`
  Parameters:
    `parentPath` - the path that is to provide the basis for the new path
    `segmentName` - the name of the segment to be appended to the parent path
    `index` - the index for the new segment
  Returns:
    the new path
  See Also:
    `PathFactory.create(org.modeshape.graph.property.Path, java.lang.String, int)`

### create

    public Path create(Path parentPath,
                       Name... segmentNames)

  Create a path by appending the supplied names to the parent path. If no names are appended, the parent path is returned.

  Specified by:
    `create` in interface `PathFactory`
  Parameters:
    `parentPath` - the path that is to provide the basis for the new path
    `segmentNames` - the names of the segments that are to be appended, in order, to the parent path
  Returns:
    the new path

### create

    public Path create(Path parentPath,
                       Path.Segment... segments)

  Create a path by appending the supplied names to the parent path. If no names are appended, the parent path is returned.

  Specified by:
    `create` in interface `PathFactory`
  Parameters:
    `parentPath` - the path that is to provide the basis for the new path
    `segments` - the segments that are to be appended, in order, to the parent path
  Returns:
    the new path

### create

    public Path create(Path parentPath,
                       Iterable<Path.Segment> segments)

  Create a path by appending the supplied names to the parent path. If no names are appended, the parent path is returned.

  Specified by:
    `create` in interface `PathFactory`
  Parameters:
    `parentPath` - the path that is to provide the basis for the new path
    `segments` - the segments that are to be appended, in order, to the parent path
  Returns:
    the new path
  See Also:
    `PathFactory.create(org.modeshape.graph.property.Path, java.lang.Iterable)`

### create

    public Path create(Path parentPath,
                       String subpath)

  Create a path by appending the supplied names to the parent path.

  Specified by:
    `create` in interface `PathFactory`
  Parameters:
    `parentPath` - the path that is to provide the basis for the new path
    `subpath` - the subpath to be appended to the parent path, which must be in the form of a relative path
  Returns:
    the new path
  See Also:
    `PathFactory.create(org.modeshape.graph.property.Path, java.lang.String)`

### createSegment

    public Path.Segment createSegment(Name segmentName)

  Create a path segment given the supplied segment name. The resulting segment will have no index.

  Specified by:
    `createSegment` in interface `PathFactory`
  Parameters:
    `segmentName` - the name of the segment
  Returns:
    the segment

### createSegment

    public Path.Segment createSegment(Name segmentName,
                                      int index)

  Create a path segment given the supplied segment name and index.

  Specified by:
    `createSegment` in interface `PathFactory`
  Parameters:
    `segmentName` - the name of the new segment
    `index` - the index of the new segment
  Returns:
    the segment

### createSegment

    public Path.Segment createSegment(String segmentName)

  Create a path segment given the supplied segment name. The supplied string may contain a same-name-sibling index in the form of "`[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.

  Specified by:
    `createSegment` in interface `PathFactory`
  Parameters:
    `segmentName` - the name of the segment
  Returns:
    the segment
  See Also:
    `PathFactory.createSegment(java.lang.String)`

### createSegment

    public Path.Segment createSegment(String segmentName,
                                      TextDecoder decoder)

  Create a path segment given the supplied segment name. The supplied string may contain a same-name-sibling index in the form of "`[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.

  Specified by:
    `createSegment` in interface `PathFactory`
  Parameters:
    `segmentName` - the name of the segment
    `decoder` - the decoder that should be used to decode the qualified name
  Returns:
    the segment
  See Also:
    `PathFactory.createSegment(java.lang.String, org.modeshape.common.text.TextDecoder)`

### createSegment

    public Path.Segment createSegment(String segmentName,
                                      int index)

  Create a path segment given the supplied segment name and index.

  Specified by:
    `createSegment` in interface `PathFactory`
  Parameters:
    `segmentName` - the name of the new segment
    `index` - the index of the new segment
  Returns:
    the segment

### create

    public Path create(Reference value)

  Create a value from a reference.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the reference from which the value is to be created
  Returns:
    the value, or null if the supplied reference is null

### create

    public Path create(URI value)

  Create a value from a URI.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the URI from which the value is to be created
  Returns:
    the value, or null if the supplied URI is null

### create

    public Path create(UUID value)

  Create a value from a UUID.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the UUID from which the value is to be created
  Returns:
    the value, or null if the supplied URI is null
  See Also:
    `ValueFactory.create(java.util.UUID)`

### create

    public Path create(byte[] value)

  Create a value from the binary content given by the supplied array.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the content to be used to create the value
  Returns:
    the value, or null if the supplied stream is null

### create

    public Path create(Binary value)
                throws ValueFormatException,
                       IoException

  Create a value from the binary content given by the supplied stream.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `value` - the binary object to be used to create the value
  Returns:
    the value, or null if the supplied stream is null
  Throws:
    `ValueFormatException` - if the conversion from the binary object could not be performed
    `IoException` - If an unexpected problem occurs while accessing the supplied binary value (such as an `IOException`).
  See Also:
    `ValueFactory.create(org.modeshape.graph.property.Binary)`

### create

    public Path create(InputStream stream,
                       long approximateLength)
                throws IoException

  Create a value from the binary content given by the supplied stream.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `stream` - the stream containing the content to be used to create the value
    `approximateLength` - the approximate length of the content (in bytes)
  Returns:
    the value, or null if the supplied stream is null
  Throws:
    `IoException` - If an unexpected problem occurs while accessing the supplied stream (such as an `IOException`).

### create

    public Path create(Reader reader,
                       long approximateLength)
                throws IoException

  Create a value from a the binary content given by the supplied reader.

  Specified by:
    `create` in interface `ValueFactory<Path>`
  Parameters:
    `reader` - the reader containing the content to be used to create the value
    `approximateLength` - the approximate length of the content (in bytes)
  Returns:
    the value, or null if the supplied string is null
  Throws:
    `IoException` - If an unexpected problem occurs while accessing the supplied reader (such as an `IOException`).

### createEmptyArray

    protected Path[] createEmptyArray(int length)

  Specified by:
    `createEmptyArray` in class `AbstractValueFactory<Path>`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008-2011 JBoss, a division of Red Hat. All Rights Reserved.