org.modeshape.jcr.value.basic

## Class BasicProperty

- java.lang.Object
- - org.modeshape.jcr.value.basic.BasicProperty

- All Implemented Interfaces:
    Serializable, Comparable<Property>, Iterable<Object>, Property, Readable
  Direct Known Subclasses:
    BasicEmptyProperty, BasicMultiValueProperty, BasicSingleValueProperty

      @Immutable
      public abstract class BasicProperty
      extends Object
      implements Property

  An abstract `Property` implementation.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.modeshape.jcr.value.Property

      `Property.ValueTypeTransformer<T>`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BasicProperty(Name name)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(Property that)`
    `boolean` | `equals(Object obj)`
    `Name` | `getName()` Get the name of the property.
    `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.
    `Iterator<?>` | `getValues()` Obtain the property's values in their natural form.
    `Object[]` | `getValuesAsArray()` Obtain the property's values as an array of objects in their natural form.
    `<T> T[]` | `getValuesAsArray(Property.ValueTypeTransformer<T> valueTypeTransformer, Class<T> type)` Convert the values of this property to the given type, using the specified type transformer.
    `<T> T[]` | `getValuesAsArray(ValueFactory<T> valueFactory)` Convert the values of this property to whatever type the given value factory is used to create.
    `int` | `hashCode()`
    `String` | `toString()`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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

      `getFirstValue, getValue, isBinary, isEmpty, isMultiple, isReference, isSimpleReference, isSingle, size`

    - ### Methods inherited from interface java.lang.Iterable

      `iterator`

- - ### Constructor Detail

    - #### BasicProperty

          public BasicProperty(Name name)

      Parameters:
        `name` -

  - ### Method Detail

    - #### getName

          public Name getName()

      Description copied from interface: `Property`
      Get the name of the property.
      Specified by:
        `getName` in interface `Property`
      Returns:
        the property name; never null

    - #### getValues

          public Iterator<?> getValues()

      Description copied from interface: `Property`
      Obtain the property's values in their natural form. This is equivalent to calling `iterator()`.

      A valid iterator is returned if the property has `single valued` or `multi-valued`.

      The resulting iterator is immutable, and all property values are immutable.

      Specified by:
        `getValues` in interface `Property`
      Returns:
        an iterator over the values; never null
      See Also:
        `Property.getFirstValue()`, `Iterable.iterator()`, `Property.getValuesAsArray()`, `ValueFactory.create(Iterator)`

    - #### getValuesAsArray

          public Object[] getValuesAsArray()

      Description copied from interface: `Property`
      Obtain the property's values as an array of objects in their natural form.

      A valid array is return if the property has `single valued` or `multi-valued`, or a null value is returned if the property is `empty`.

      The resulting array is a copy, guaranteeing immutability for the property.

      Specified by:
        `getValuesAsArray` in interface `Property`
      Returns:
        the array of values
      See Also:
        `Property.getFirstValue()`, `Iterable.iterator()`, `Property.getValues()`, `ValueFactory.create(Object[])`

    - #### compareTo

          public int compareTo(Property that)

      Specified by:
        `compareTo` in interface `Comparable<Property>`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object obj)

      Overrides:
        `equals` in class `Object`

    - #### getString

          public String getString()

      Description copied from interface: `Readable`
      Get the string form of the object. A `default encoder` is used to encode characters.
      Specified by:
        `getString` in interface `Readable`
      Returns:
        the encoded string
      See Also:
        `Readable.getString(TextEncoder)`

    - #### getString

          public String getString(TextEncoder encoder)

      Description copied from interface: `Readable`
      Get the encoded string form of the object, using the supplied encoder to encode characters.
      Specified by:
        `getString` in interface `Readable`
      Parameters:
        `encoder` - the encoder to use, or null if the `default encoder` should be used
      Returns:
        the encoded string
      See Also:
        `Readable.getString()`

    - #### getString

          public String getString(NamespaceRegistry namespaceRegistry)

      Description copied from interface: `Readable`
      Get the string form of the object, using the supplied namespace registry to convert any namespace URIs to prefixes. A `default encoder` is used to encode characters.
      Specified by:
        `getString` in interface `Readable`
      Parameters:
        `namespaceRegistry` - the namespace registry that should be used to obtain the prefix for any namespace URIs
      Returns:
        the encoded string
      See Also:
        `Readable.getString(NamespaceRegistry,TextEncoder)`

    - #### getString

          public String getString(NamespaceRegistry namespaceRegistry,
                         TextEncoder encoder)

      Description copied from interface: `Readable`
      Get the encoded string form of the object, using the supplied namespace registry to convert the any namespace URIs to prefixes.
      Specified by:
        `getString` in interface `Readable`
      Parameters:
        `namespaceRegistry` - the namespace registry that should be used to obtain the prefix for the namespace URIs
        `encoder` - the encoder to use, or null if the `default encoder` should be used
      Returns:
        the encoded string
      See Also:
        `Readable.getString(NamespaceRegistry)`

    - #### getString

          public String getString(NamespaceRegistry namespaceRegistry,
                         TextEncoder encoder,
                         TextEncoder delimiterEncoder)

      Description copied from interface: `Readable`
      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.
      Specified by:
        `getString` in interface `Readable`
      Parameters:
        `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 used
        `delimiterEncoder` - 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
      Returns:
        the encoded string
      See Also:
        `Readable.getString(NamespaceRegistry)`, `Readable.getString(NamespaceRegistry, TextEncoder)`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### getValuesAsArray

          public <T> T[] getValuesAsArray(ValueFactory<T> valueFactory)
                               throws ValueFormatException

      Description copied from interface: `Property`
      Convert the values of this property to whatever type the given value factory is used to create.
      Specified by:
        `getValuesAsArray` in interface `Property`
      Parameters:
        `valueFactory` - a `AbstractValueFactory` representing the factory which will be used to attempt the conversion of each value.
      Returns:
        the array of values for this property converted (if possible) to given type.
      Throws:
        `ValueFormatException` - if the conversion cannot be performed for any value in the array of values.

    - #### getValuesAsArray

          public <T> T[] getValuesAsArray(Property.ValueTypeTransformer<T> valueTypeTransformer,
                                 Class<T> type)
                               throws ValueFormatException

      Description copied from interface: `Property`
      Convert the values of this property to the given type, using the specified type transformer.
      Specified by:
        `getValuesAsArray` in interface `Property`
      Parameters:
        `valueTypeTransformer` - a `Property.ValueTypeTransformer` representing the transformer which will be used to attempt the conversion of each value.
        `type` - a `Class` indicating the type to which the transformation is performed; required because of type erasure.
      Returns:
        the array of values for this property converted (if possible) to given type.
      Throws:
        `ValueFormatException` - if the conversion cannot be performed for any value in the array of values.

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