org.modeshape.jcr.value.basic

## Class ReferenceValueFactory

- java.lang.Object
- - org.modeshape.jcr.value.basic.AbstractValueFactory<Reference>
  - - org.modeshape.jcr.value.basic.ReferenceValueFactory

- All Implemented Interfaces:
    ReferenceFactory, ValueFactory<Reference>
  Direct Known Subclasses:
    NodeIdentifierReferenceFactory

      @Immutable
      public class ReferenceValueFactory
      extends AbstractValueFactory<Reference>
      implements ReferenceFactory

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

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.modeshape.jcr.value.basic.AbstractValueFactory

      `AbstractValueFactory.ConvertingIterator<ValueType>`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `simple`
    `protected boolean` | `weak`

    - ### Fields inherited from class org.modeshape.jcr.value.basic.AbstractValueFactory

      `decoder, propertyType, valueFactories`

    - ### Fields inherited from interface org.modeshape.jcr.value.ValueFactory

      `DEFAULT_DECODER, DEFAULT_ENCODER`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ReferenceValueFactory(PropertyType type, TextDecoder decoder, ValueFactories valueFactories, boolean weak, boolean simple)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Reference` | `create(BigDecimal value)` Create a value from a decimal.
    `Reference` | `create(BinaryValue value)` Create a value from the binary content given by the supplied stream.
    `Reference` | `create(boolean value)` Create a boolean from a string.
    `Reference` | `create(byte[] value)` Create a value from the binary content given by the supplied array.
    `Reference` | `create(Calendar value)` Create a value from a Calendar instance.
    `Reference` | `create(Date value)` Create a value from a date.
    `Reference` | `create(DateTime value)` Create a value from a date-time instant.
    `Reference` | `create(double value)` Create a value from a double.
    `Reference` | `create(float value)` Create a value from a float.
    `Reference` | `create(InputStream stream)` Create a value from the binary content given by the supplied stream.
    `Reference` | `create(int value)` Create a value from an integer.
    `Reference` | `create(long value)` Create a long from a string.
    `Reference` | `create(Name value)` Create a value from a name.
    `Reference` | `create(NodeKey value)` Create a value from a `NodeKey`.
    `Reference[]` | `create(NodeKey[] values, boolean foreign)`
    `Reference` | `create(NodeKey value, boolean foreign)`
    `Reference` | `create(Path.Segment value)` Create a value from a path segment.
    `Reference` | `create(Path value)` Create a value from a path.
    `Reference` | `create(Reference value)` Create a value from a reference.
    `Reference` | `create(String value)` Create a value from a string, using no decoding.
    `Reference` | `create(String value, TextDecoder decoder)` Create a value from a string, using the supplied decoder.
    `Reference` | `create(URI value)` Create a value from a URI.
    `Reference` | `create(UUID value)` Create a value from a UUID.
    `Reference[]` | `createEmptyArray(int length)` Creates an empty array of the given type.
    `static ReferenceValueFactory` | `newInstance(TextDecoder decoder, ValueFactories factories, boolean weak, boolean simple)` Create a new instance.
    `ReferenceFactory` | `with(ValueFactories valueFactories)` Return a potentially new copy of this factory that uses the supplied ValueFactories object.

    - ### Methods inherited from class org.modeshape.jcr.value.basic.AbstractValueFactory

      `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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.modeshape.jcr.value.ValueFactory

      `create, create, 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

    - #### weak

          protected final boolean weak

    - #### simple

          protected final boolean simple

  - ### Constructor Detail

    - #### ReferenceValueFactory

          protected ReferenceValueFactory(PropertyType type,
                               TextDecoder decoder,
                               ValueFactories valueFactories,
                               boolean weak,
                               boolean simple)

  - ### Method Detail

    - #### newInstance

          public static ReferenceValueFactory newInstance(TextDecoder decoder,
                                          ValueFactories factories,
                                          boolean weak,
                                          boolean simple)

      Create a new instance.
      Parameters:
        `decoder` - the text decoder; may be null if the default decoder should be used
        `factories` - the set of value factories, used to obtain the `string value factory`; may not be null
        `weak` - true if this factory should create weak references, or false if it should create strong references
        `simple` - true if this factory should create simple references, false otherwise
      Returns:
        the new reference factory; never null

    - #### with

          public ReferenceFactory with(ValueFactories valueFactories)

      Description copied from interface: `ValueFactory`
      Return a potentially new copy of this factory that uses the supplied ValueFactories object.
      Specified by:
        `with` in interface `ReferenceFactory`
      Specified by:
        `with` in interface `ValueFactory<Reference>`
      Parameters:
        `valueFactories` - the value factories object; may not be null
      Returns:
        the factory, which may be a new instance or may be this object if the supplied value factories is the same as used by this factory; never null

    - #### create

          public Reference create(String value)

      Description copied from interface: `ValueFactory`
      Create a value from a string, using no decoding.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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 Reference create(String value,
                         TextDecoder decoder)

      Description copied from interface: `ValueFactory`
      Create a value from a string, using the supplied decoder.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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 Reference create(int value)

      Description copied from interface: `ValueFactory`
      Create a value from an integer.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      Parameters:
        `value` - the integer from which the value is to be created
      Returns:
        the value; never null

    - #### create

          public Reference create(long value)

      Description copied from interface: `ValueFactory`
      Create a long from a string.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      Parameters:
        `value` - the string from which the long is to be created
      Returns:
        the value; never null

    - #### create

          public Reference create(boolean value)

      Description copied from interface: `ValueFactory`
      Create a boolean from a string.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      Parameters:
        `value` - the boolean from which the value is to be created
      Returns:
        the value; never null

    - #### create

          public Reference create(float value)

      Description copied from interface: `ValueFactory`
      Create a value from a float.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      Parameters:
        `value` - the float from which the value is to be created
      Returns:
        the value; never null

    - #### create

          public Reference create(double value)

      Description copied from interface: `ValueFactory`
      Create a value from a double.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      Parameters:
        `value` - the double from which the value is to be created
      Returns:
        the value; never null

    - #### create

          public Reference create(BigDecimal value)

      Description copied from interface: `ValueFactory`
      Create a value from a decimal.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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 Reference create(Calendar value)

      Description copied from interface: `ValueFactory`
      Create a value from a Calendar instance.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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 Reference create(Date value)

      Description copied from interface: `ValueFactory`
      Create a value from a date.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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 Reference create(DateTime value)
                           throws ValueFormatException

      Description copied from interface: `ValueFactory`
      Create a value from a date-time instant.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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

    - #### create

          public Reference create(Name value)

      Description copied from interface: `ValueFactory`
      Create a value from a name.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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 Reference create(Path value)

      Description copied from interface: `ValueFactory`
      Create a value from a path.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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 Reference create(Path.Segment value)

      Description copied from interface: `ValueFactory`
      Create a value from a path segment.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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

    - #### create

          public Reference create(Reference value)

      Description copied from interface: `ValueFactory`
      Create a value from a reference.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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 Reference create(UUID value)

      Description copied from interface: `ValueFactory`
      Create a value from a UUID.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      Parameters:
        `value` - the UUID from which the value is to be created
      Returns:
        the value, or null if the supplied URI is null

    - #### create

          public Reference create(NodeKey value)
                           throws ValueFormatException

      Description copied from interface: `ValueFactory`
      Create a value from a `NodeKey`.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      Parameters:
        `value` - the node key from which the value is to be created
      Returns:
        the value, or null if the supplied URI is null
      Throws:
        `ValueFormatException` - if the conversion from a NodeKey could not be performed

    - #### create

          public Reference create(NodeKey value,
                         boolean foreign)
                           throws ValueFormatException

      Specified by:
        `create` in interface `ReferenceFactory`
      Throws:
        `ValueFormatException`

    - #### create

          public Reference[] create(NodeKey[] values,
                           boolean foreign)
                             throws ValueFormatException

      Specified by:
        `create` in interface `ReferenceFactory`
      Throws:
        `ValueFormatException`

    - #### create

          public Reference create(URI value)

      Description copied from interface: `ValueFactory`
      Create a value from a URI.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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 Reference create(byte[] value)

      Description copied from interface: `ValueFactory`
      Create a value from the binary content given by the supplied array.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      Parameters:
        `value` - the content to be used to create the value
      Returns:
        the value, or null if the supplied stream is null

    - #### create

          public Reference create(BinaryValue value)
                           throws ValueFormatException,
                                  IoException

      Description copied from interface: `ValueFactory`
      Create a value from the binary content given by the supplied stream.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      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`).

    - #### create

          public Reference create(InputStream stream)
                           throws IoException

      Description copied from interface: `ValueFactory`
      Create a value from the binary content given by the supplied stream.
      Specified by:
        `create` in interface `ValueFactory<Reference>`
      Parameters:
        `stream` - the stream containing the content to be used to create the value
      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`).

    - #### createEmptyArray

          public Reference[] createEmptyArray(int length)

      Description copied from interface: `ValueFactory`
      Creates an empty array of the given type.
      Specified by:
        `createEmptyArray` in interface `ValueFactory<Reference>`
      Parameters:
        `length` - the length of the array; must be a positive value
      Returns:
        an empty array of the given length.

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