com.holonplatform.core.property

## Interface SetPathProperty<T>

- Type Parameters:
    `T` - Set elements type
  All Superinterfaces:
    CloneableProperty<Set<T>,PathProperty<Set<T>>,PathProperty.Builder<Set<T>,PathProperty<Set<T>>,?>>, CloneableProperty.CloneablePathProperty<Set<T>,PathProperty<Set<T>>>, CollectionExpression<T,Set<T>>, CollectionPathProperty<T,Set<T>>, CollectionProperty<T,Set<T>>, CollectionProperty.SetProperty<T>, ConverterExpression<Set<T>>, DataMappable, Expression, HasConfiguration<PropertyConfiguration>, Localizable, Path<Set<T>>, PathExpression<Set<T>>, PathProperty<Set<T>>, Property<Set<T>>, QueryExpression<Set<T>>, QueryProjection<Set<T>>, Serializable, TypedExpression<Set<T>>, Validator.Validatable<Set<T>>
  All Known Subinterfaces:
    SetPathProperty.SetPathPropertyBuilder<T>

      public interface SetPathProperty<T>
      extends CollectionPathProperty<T,Set<T>>, CollectionProperty.SetProperty<T>

  A `CollectionPathProperty` which uses a `Set` as concrete collection type.
  Since:
    5.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `SetPathProperty.SetPathPropertyBuilder<T>` `SetPathProperty` builder.

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.property.CollectionPathProperty

      `CollectionPathProperty.Builder<E,C extends Collection<E>,P extends CollectionPathProperty<E,C>,B extends CollectionPathProperty.Builder<E,C,P,B>>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.property.PathProperty

      `PathProperty.PathPropertyBuilder<T>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.property.CloneableProperty

      `CloneableProperty.CloneablePathProperty<T,P extends Property<T> & Path<T>>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.property.Property

      `Property.PropertyAccessException, Property.PropertyNotFoundException, Property.PropertyReadException, Property.PropertyReadOnlyException, Property.PropertyWriteException`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.i18n.Localizable

      `Localizable.LocalizableBuilder, Localizable.LocalizationException`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.Expression

      `Expression.ExpressionResolverFunction<E extends Expression,R extends Expression>, Expression.InvalidExpressionException`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.Path

      `Path.FinalPath<T>, Path.PathBuilder<T>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.property.CollectionProperty

      `CollectionProperty.ListProperty<T>, CollectionProperty.SetProperty<T>`

  - ### Field Summary

    - ### Fields inherited from interface com.holonplatform.core.Path

      `PATH_HIERARCHY_SEPARATOR`

    - ### Fields inherited from interface com.holonplatform.core.DataMappable

      `DEFAULT_CONFIG_PROPERTY_PREFIX, PATH`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `SetPathProperty<T>` | `clone(Consumer<PathProperty.Builder<Set<T>,PathProperty<Set<T>>,?>> builder)` Clone this property.
    `static <T> SetPathProperty.SetPathPropertyBuilder<T>` | `create(String name, Class<? extends T> elementType)` Create a new `SetPathProperty`.
    `static <P extends Property> SetPathProperty.SetPathPropertyBuilder<PropertyBox>` | `propertyBox(String name, Iterable<P> properties)` Create a new `PropertyBox` type `SetPathProperty`, using given `properties` as property set.

    - ### Methods inherited from interface com.holonplatform.core.property.PathProperty

      `create, isReadOnly`

    - ### Methods inherited from interface com.holonplatform.core.property.Property

      `getConvertedValue, getConverter, getName, getTemporalType, getType, present, render, renderIfAvailable`

    - ### Methods inherited from interface com.holonplatform.core.Validator.Validatable

      `getValidators, validate`

    - ### Methods inherited from interface com.holonplatform.core.i18n.Localizable

      `builder, getMessage, getMessageArguments, getMessageCode, of, of`

    - ### Methods inherited from interface com.holonplatform.core.HasConfiguration

      `hasConfiguration`

    - ### Methods inherited from interface com.holonplatform.core.ConverterExpression

      `getModelType, getModelValue`

    - ### Methods inherited from interface com.holonplatform.core.TypedExpression

      `isCollectionExpression, isConverterExpression`

    - ### Methods inherited from interface com.holonplatform.core.Expression

      `validate`

    - ### Methods inherited from interface com.holonplatform.core.query.PathExpression

      `asc, desc, from`

    - ### Methods inherited from interface com.holonplatform.core.Path

      `fullName, fullName, getName, getParent, isRootPath, of, relativeName, relativeName, stream`

    - ### Methods inherited from interface com.holonplatform.core.DataMappable

      `getDataPath, isDataMappable`

    - ### Methods inherited from interface com.holonplatform.core.query.QueryExpression

      `between, count, eq, eq, goe, goe, gt, gt, in, in, in, isNotNull, isNull, loe, loe, lt, lt, max, min, neq, neq, nin, nin, nin`

    - ### Methods inherited from interface com.holonplatform.core.query.QueryProjection

      `bean, constant, countAll, path, propertySet, propertySet`

    - ### Methods inherited from interface com.holonplatform.core.CollectionExpression

      `getElementType`

    - ### Methods inherited from interface com.holonplatform.core.property.CollectionProperty

      `getElementType`

- - ### Method Detail

    - #### clone

          SetPathProperty<T> clone(Consumer<PathProperty.Builder<Set<T>,PathProperty<Set<T>>,?>> builder)

      Clone this property.
      Specified by:
        `clone` in interface `CloneableProperty<Set<T>,PathProperty<Set<T>>,PathProperty.Builder<Set<T>,PathProperty<Set<T>>,?>>`
      Parameters:
        `builder` - A property builder which can be used to perform additional property configuration
      Returns:
        The cloned property

    - #### create

          static <T> SetPathProperty.SetPathPropertyBuilder<T> create(String name,
                                                                      Class<? extends T> elementType)

      Create a new `SetPathProperty`.
      Specified by:
        `create` in interface `PathExpression<Set<T>>`
      Specified by:
        `create` in interface `PathProperty<Set<T>>`
      Type Parameters:
        `T` - Collection elements type
      Parameters:
        `name` - Property (and path) name (not null)
        `elementType` - Collection elements type (not null)
      Returns:
        a new `SetPathProperty` instance

    - #### propertyBox

          static <P extends Property> SetPathProperty.SetPathPropertyBuilder<PropertyBox> propertyBox(String name,
                                                                                                      Iterable<P> properties)

      Create a new `PropertyBox` type `SetPathProperty`, using given `properties` as property set.
      Type Parameters:
        `P` - Property type
      Parameters:
        `name` - Property (and path) name (not null)
        `properties` - Property set (not null)
      Returns:
        a new `SetPathProperty` instance

Copyright © 2019 The Holon Platform. All rights reserved.