org.modeshape.jcr.value

## Interface PropertyFactory

- All Known Implementing Classes:
    BasicPropertyFactory

      @ThreadSafe
      public interface PropertyFactory

  A factory for creating `Property` objects.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Property` | `create(Name name)` Create an empty multi-valued property with the supplied name.
    `Property` | `create(Name name, Iterable<?> values)` Create a multi-valued property with the supplied name and values
    `Property` | `create(Name name, Iterator<?> values)` Create a multi-valued property with the supplied name and values
    `Property` | `create(Name name, Object value)` Create a single-valued property with the supplied name and values
    `Property` | `create(Name name, Object[] values)` Create a multi-valued property with the supplied name and values
    `Property` | `create(Name name, Path value)` Create a single-valued property with the supplied name and `Path` value.
    `Property` | `create(Name name, PropertyType desiredType, Iterable<?> values)` Create a multi-valued property with the supplied name and values
    `Property` | `create(Name name, PropertyType desiredType, Iterator<?> values)` Create a multi-valued property with the supplied name and values
    `Property` | `create(Name name, PropertyType desiredType, Object firstValue)` Create a single-valued property with the supplied name and values
    `Property` | `create(Name name, PropertyType desiredType, Object[] values)` Create a multi-valued property with the supplied name and values

- - ### Method Detail

    - #### create

          Property create(Name name)

      Create an empty multi-valued property with the supplied name.
      Parameters:
        `name` - the property name; may not be null
      Returns:
        the resulting property

    - #### create

          Property create(Name name,
                        Object value)

      Create a single-valued property with the supplied name and values
      Parameters:
        `name` - the property name; may not be null
        `value` - the value
      Returns:
        the resulting property

    - #### create

          Property create(Name name,
                        Object[] values)

      Create a multi-valued property with the supplied name and values
      Parameters:
        `name` - the property name; may not be null
        `values` - the values
      Returns:
        the resulting property

    - #### create

          Property create(Name name,
                        Iterable<?> values)

      Create a multi-valued property with the supplied name and values
      Parameters:
        `name` - the property name; may not be null
        `values` - the values
      Returns:
        the resulting property

    - #### create

          Property create(Name name,
                        Iterator<?> values)

      Create a multi-valued property with the supplied name and values
      Parameters:
        `name` - the property name; may not be null
        `values` - the values
      Returns:
        the resulting property

    - #### create

          Property create(Name name,
                        PropertyType desiredType,
                        Object firstValue)

      Create a single-valued property with the supplied name and values
      Parameters:
        `name` - the property name; may not be null
        `desiredType` - the type that the objects should be converted to; if null, they will be used as is
        `firstValue` - the first value; may not be null
      Returns:
        the resulting property

    - #### create

          Property create(Name name,
                        PropertyType desiredType,
                        Object[] values)

      Create a multi-valued property with the supplied name and values
      Parameters:
        `name` - the property name; may not be null
        `desiredType` - the type that the objects should be converted to; if null, they will be used as is
        `values` - the values; may not be null but may be empty
      Returns:
        the resulting property

    - #### create

          Property create(Name name,
                        PropertyType desiredType,
                        Iterable<?> values)

      Create a multi-valued property with the supplied name and values
      Parameters:
        `name` - the property name; may not be null
        `desiredType` - the type that the objects should be converted to; if null, they will be used as is
        `values` - the values
      Returns:
        the resulting property

    - #### create

          Property create(Name name,
                        PropertyType desiredType,
                        Iterator<?> values)

      Create a multi-valued property with the supplied name and values
      Parameters:
        `name` - the property name; may not be null
        `desiredType` - the type that the objects should be converted to; if null, they will be used as is
        `values` - the values
      Returns:
        the resulting property

    - #### create

          Property create(Name name,
                        Path value)

      Create a single-valued property with the supplied name and `Path` value. This method is provided because Path implements Iterable<Segment>.
      Parameters:
        `name` - the property name; may not be null
        `value` - the path value
      Returns:
        the resulting property

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