## Uses of Interface
com.holonplatform.core.property.Property

- Packages that use Property
  Package | Description
  --- | ---
  com.holonplatform.async.datastore.operation |
  com.holonplatform.core |
  com.holonplatform.core.beans |
  com.holonplatform.core.datastore.operation.commons |
  com.holonplatform.core.property |
  com.holonplatform.core.query |
  com.holonplatform.http.rest |

- - ### Uses of Property in com.holonplatform.async.datastore.operation

    Methods in com.holonplatform.async.datastore.operation with type parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `default <P extends Property> CompletionStage<Optional<PropertyBox>>` | AsyncQueryResults.`findOne(Iterable<P> properties)` Execute the query asynchronously and get an expected unique result as a `PropertyBox` instance, using given `properties` as projection.
    `default <P extends Property> CompletionStage<List<PropertyBox>>` | AsyncQueryResults.`list(Iterable<P> properties)` Execute the query asynchronously and get a `List` of query results as `PropertyBox` instances, using given `properties` as projection.
    `default <P extends Property> CompletionStage<Stream<PropertyBox>>` | AsyncQueryResults.`stream(Iterable<P> properties)` Execute the query asynchronously and get a `Stream` of query results as `PropertyBox` instances, using given `properties` as projection.

    Methods in com.holonplatform.async.datastore.operation with parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `default CompletionStage<Optional<PropertyBox>>` | AsyncQueryResults.`findOne(Property... properties)` Execute the query asynchronously and get an expected unique result as `PropertyBox` instance, using given `properties` as projection.
    `default CompletionStage<List<PropertyBox>>` | AsyncQueryResults.`list(Property... properties)` Execute the query asynchronously and get a `List` of query results as `PropertyBox` instances, using given `properties` as projection.
    `default CompletionStage<Stream<PropertyBox>>` | AsyncQueryResults.`stream(Property... properties)` Execute the query asynchronously and get a `Stream` of query results as `PropertyBox` instances, using given `properties` as projection.

  - ### Uses of Property in com.holonplatform.core

    Methods in com.holonplatform.core with parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `static <TYPE> Optional<ExpressionValueConverter<TYPE,?>>` | ExpressionValueConverter.`fromProperty(Property<TYPE> property)` Create a new `ExpressionValueConverter` using given `property`.

  - ### Uses of Property in com.holonplatform.core.beans

    Subinterfaces of Property in com.holonplatform.core.beans
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `BeanProperty<T>` Represents a Java Bean property as a `PathProperty`, providing additional configuration informations and read/write methods.
    `static interface` | `BeanProperty.Builder<T>` BeanProperty builder.
    `interface` | `BooleanBeanProperty` A Boolean type `BeanProperty`, implementing `BooleanProperty`.
    `interface` | `NumericBeanProperty<N extends Number>` A numeric type `BeanProperty`, implementing `NumericProperty`.
    `interface` | `StringBeanProperty` A String type `BeanProperty`, implementing `StringProperty`.
    `interface` | `TemporalBeanProperty<T>` A temporal type `BeanProperty`, implementing `TemporalProperty`.

  - ### Uses of Property in com.holonplatform.core.datastore.operation.commons

    Methods in com.holonplatform.core.datastore.operation.commons with type parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `<P extends Property> O` | BulkInsertOperation.`propertySet(Iterable<P> properties)` Set the operation property set, i.e. the properties which must be included in the bulk insert operation.
    `default <P extends Property> O` | BulkInsertOperation.`propertySet(P... properties)` Set the operation property set, i.e. the properties which must be included in the bulk insert operation.

    Methods in com.holonplatform.core.datastore.operation.commons with parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `default <P extends Property> O` | BulkInsertOperation.`propertySet(P... properties)` Set the operation property set, i.e. the properties which must be included in the bulk insert operation.

  - ### Uses of Property in com.holonplatform.core.property

    Classes in com.holonplatform.core.property with type parameters of type Property
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `CloneableProperty<T,P extends Property<T>,B extends Property.Builder<T,P,?>>` Declares a `Property` as cloneable.
    `static interface` | `CloneableProperty.CloneablePathProperty<T,P extends Property<T> & Path<T>>` A `Path` type `CloneableProperty`.
    `static interface` | `PathProperty.Builder<T,P extends Path<T> & Property<T>,B extends PathProperty.Builder<T,P,B>>` Base interface for `Path` and `Property` builders.
    `static interface` | `Property.Builder<T,P extends Property<T>,B extends Property.Builder<T,P,B>>` Base `Property` builder.
    `interface` | `PropertySet<P extends Property>` This interface represent an `Iterable` and immutable set of `Property`s.
    `static interface` | `PropertySet.Builder<P extends Property>` Builder to create `PropertySet` instances.

    Subinterfaces of Property in com.holonplatform.core.property
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `BooleanProperty` A boolean type `PathProperty`.
    `static interface` | `BooleanProperty.BooleanPropertyBuilder` `BooleanProperty` builder.
    `interface` | `CloneableProperty<T,P extends Property<T>,B extends Property.Builder<T,P,?>>` Declares a `Property` as cloneable.
    `static interface` | `CloneableProperty.CloneablePathProperty<T,P extends Property<T> & Path<T>>` A `Path` type `CloneableProperty`.
    `interface` | `CollectionPathProperty<E,C extends Collection<E>>` A `CollectionProperty` type `PathProperty`.
    `interface` | `CollectionProperty<E,C extends Collection<E>>` A `Property` which handles a `Collection` of values.
    `static interface` | `CollectionProperty.ListProperty<T>` A `CollectionProperty` which uses a `List` as concrete collection type.
    `static interface` | `CollectionProperty.SetProperty<T>` A `CollectionProperty` which uses a `Set` as concrete collection type.
    `interface` | `ListPathProperty<T>` A `CollectionPathProperty` which uses a `List` as concrete collection type.
    `static interface` | `ListPathProperty.ListPathPropertyBuilder<T>` `ListPathProperty` builder.
    `interface` | `ListVirtualProperty<T>` A collection type `VirtualProperty` using a `List` as concrete collection type.
    `static interface` | `ListVirtualProperty.ListVirtualPropertyBuilder<T>` `ListVirtualProperty.ListVirtualPropertyBuilder` builder.
    `interface` | `NumericProperty<N extends Number>` A numeric type `PathProperty`.
    `static interface` | `NumericProperty.NumericPropertyBuilder<N extends Number>` `NumericProperty` builder.
    `interface` | `PathProperty<T>` A `Property` bound to a `Path`, using `Path.getName()` as property name.
    `static interface` | `PathProperty.PathPropertyBuilder<T>` `PathProperty` builder.
    `interface` | `PropertyBoxProperty` A `PropertyBox` type `PathProperty`.
    `static interface` | `PropertyBoxProperty.PropertyBoxPropertyBuilder` `PropertyBoxProperty` builder.
    `interface` | `SetPathProperty<T>` A `CollectionPathProperty` which uses a `Set` as concrete collection type.
    `static interface` | `SetPathProperty.SetPathPropertyBuilder<T>` `SetPathProperty` builder.
    `interface` | `SetVirtualProperty<T>` A collection type `VirtualProperty` using a `Set` as concrete collection type.
    `static interface` | `SetVirtualProperty.SetVirtualPropertyBuilder<T>` `SetVirtualProperty` builder.
    `interface` | `StringProperty` A String type `PathProperty`.
    `static interface` | `StringProperty.StringPropertyBuilder` `StringProperty` builder.
    `interface` | `TemporalProperty<T>` A temporal type `PathProperty`.
    `static interface` | `TemporalProperty.TemporalPropertyBuilder<T>` `TemporalProperty` builder.
    `interface` | `VirtualProperty<T>` A virtual `Property` which relies on a `PropertyValueProvider` to provide its value, and it is not directly bound to a data model attribute.
    `static interface` | `VirtualProperty.Builder<T,P extends VirtualProperty<T>,B extends VirtualProperty.Builder<T,P,B>>` Base `VirtualProperty` builder.
    `static interface` | `VirtualProperty.VirtualPropertyBuilder<T>` Default `VirtualProperty` builder.

    Methods in com.holonplatform.core.property with type parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `static <P extends Property> PropertySet.Builder<P>` | PropertySet.`builder(Class<? extends P> propertyType)` Obtain a builder to create and populate a `PropertySet` which supports given `Property` type.
    `static <P extends Property> PropertyBox.Builder` | PropertyBox.`builder(Iterable<P> properties)` Builder to create and populate a PropertyBox.
    `static <P extends Property> PropertyBox.Builder` | PropertyBox.`builder(P... properties)` Builder to create and populate a PropertyBox.
    `static <P extends Property> PropertySet.Builder<Property<?>>` | PropertySet.`builderOf(P... properties)` Obtain a builder to create and populate a `PropertySet`, and add given `properties` to the property set to build.
    `default <P extends Property> PropertyBox` | PropertyBox.`cloneBox(PropertySet<P> propertySet)` Clone this PropertyBox using given `propertySet`, i.e. create a new PropertyBox and copy all given set property values from this box to the newly created box.
    `static <P extends Property> PropertyBox` | PropertyBox.`create(Iterable<P> properties)` Shorter method to create a PropertyBox with given `properties` set.
    `static <P extends Property> PropertyBox` | PropertyBox.`create(P... properties)` Shorter method to create a PropertyBox with given `properties` set.
    `static <P extends Property> PropertyBoxProperty.PropertyBoxPropertyBuilder` | PropertyBoxProperty.`create(String name, Iterable<P> properties)` Create a new `PropertyBoxProperty` with given `name` and bound to given `properties` property set.
    `static <P extends Property> PropertyBoxProperty.PropertyBoxPropertyBuilder` | PropertyBoxProperty.`create(String name, P... properties)` Create a new `PropertyBoxProperty` with given `name` and bound to given `properties` property set.
    `static <P extends Property> PropertySet<P>` | PropertySet.`join(PropertySet<? extends P>... propertySets)` Deprecated. Using this method causes the loss of any property set configuration and/or identifier property declaration. Use the default PropertySet builder to compose a new PropertySet from different property sources.
    `static <P extends Property> PropertySet<P>` | PropertySet.`of(Iterable<P> properties)` Create a new PropertySet containing all given `properties` `Iterable` elements.
    `static <P extends Property> PropertySet<P>` | PropertySet.`of(P... properties)` Create a new PropertySet containing given `properties`.
    `static <P extends Property> PropertySet<P>` | PropertySet.`of(PropertySet<? extends P> propertySet, P... properties)` Create a new `PropertySet` joining given `propertySet` with given additional `properties`.
    `static <P extends Property> SetPathProperty.SetPathPropertyBuilder<PropertyBox>` | SetPathProperty.`propertyBox(String name, Iterable<P> properties)` Create a new `PropertyBox` type `SetPathProperty`, using given `properties` as property set.
    `static <P extends Property> ListPathProperty.ListPathPropertyBuilder<PropertyBox>` | ListPathProperty.`propertyBox(String name, Iterable<P> properties)` Create a new `PropertyBox` type `ListPathProperty`, using given `properties` as property set.

    Methods in com.holonplatform.core.property that return Property
    Modifier and Type | Method and Description
    --- | ---
    `Property<T>` | PropertyBox.PropertyValue.`getProperty()` Get the `Property`.
    `Property<T>` | PathPropertySetAdapter.PropertyPath.`getProperty()` Get the property definition.

    Methods in com.holonplatform.core.property that return types with arguments of type Property
    Modifier and Type | Method and Description
    --- | ---
    `static PropertySet.Builder<Property<?>>` | PropertySet.`builder()` Obtain a builder to create and populate a generic `PropertySet`.
    `static <P extends Property> PropertySet.Builder<Property<?>>` | PropertySet.`builderOf(P... properties)` Obtain a builder to create and populate a `PropertySet`, and add given `properties` to the property set to build.
    `Optional<Property<?>>` | Property.PropertyAccessException.`getProperty()` Get the property to which exception is related
    `<T> Optional<Property<T>>` | PathPropertySetAdapter.`getProperty(Path<T> path)` Check if a `Property` which corresponds to given `path` is present in the property set.
    `Optional<Property<?>>` | PathPropertySetAdapter.`getProperty(String name)` Get the `Property` with given `name`, if available in the property set.
    `<T> Optional<Property<T>>` | PathPropertySetAdapter.`getProperty(String name, Class<T> type)` Get the `Property` with given `name`, if available in the property set.
    `<T> Optional<Property<T>>` | PathPropertyBoxAdapter.`setValue(Path<T> path, T value)` Set the value of the `PropertyBox` property which corresponds to given `path`, if such property is available.

    Methods in com.holonplatform.core.property with parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `static <P extends Property> PropertyBox.Builder` | PropertyBox.`builder(P... properties)` Builder to create and populate a PropertyBox.
    `static <P extends Property> PropertySet.Builder<Property<?>>` | PropertySet.`builderOf(P... properties)` Obtain a builder to create and populate a `PropertySet`, and add given `properties` to the property set to build.
    `default PropertyBox` | PropertyBox.`cloneBox(Property<?>... propertySet)` Clone this PropertyBox using given `propertySet`, i.e. create a new PropertyBox and copy all given set property values from this box to the newly created box.
    `boolean` | PropertySet.`contains(Property property)` Return `true` if this set contains the given `property`.
    `<T> boolean` | PropertyBox.`containsValue(Property<T> property)` Check if this box contains given `property` with a not `null` value.
    `<T> Optional<Path<T>>` | PathPropertySetAdapter.PathConverter.`convert(Property<T> property)` Get the `Path` representation of given `Property`, if the property can be represented by a path.
    `static <P extends Property> PropertyBox` | PropertyBox.`create(P... properties)` Shorter method to create a PropertyBox with given `properties` set.
    `static <P extends Property> PropertyBoxProperty.PropertyBoxPropertyBuilder` | PropertyBoxProperty.`create(String name, P... properties)` Create a new `PropertyBoxProperty` with given `name` and bound to given `properties` property set.
    `default <R,T> void` | PropertyRendererRegistry.`forProperty(Property<? extends T> property, PropertyRenderer<R,T> renderer)` Bind a `PropertyRenderer` to the given property.
    `default <T> void` | PropertyValuePresenterRegistry.`forProperty(Property<? extends T> property, PropertyValuePresenter<? super T> presenter)` Bind a `PropertyValuePresenter` to the given property.
    `TYPE` | PropertyValueConverter.`fromModel(MODEL value, Property<TYPE> property)` Convert given value from model data type to property value type
    `<T> Optional<Path<T>>` | PathPropertySetAdapter.`getPath(Property<T> property)` Check if given `property` is available in property set and if it can be represented as a `Path`.
    `<T> Optional<PropertyValuePresenter<T>>` | PropertyValuePresenterRegistry.`getPresenter(Property<T> property)` Gets the `PropertyValuePresenter` to use with given `property` according to registered presenters.
    `<R,T> Optional<PropertyRenderer<R,T>>` | PropertyRendererRegistry.`getRenderer(Class<R> renderingType, Property<? extends T> property)` Gets the `PropertyRenderer` to use with given `property` according to registered renderers for given `renderingType`.
    `<T> T` | PropertyBox.`getValue(Property<T> property)` Get the value for given `property`.
    `<T> Optional<T>` | PropertyBox.`getValueIfPresent(Property<T> property)` Get the value for given `property`, if property is present in this box and has a not `null` value.
    `static <P extends Property> PropertySet<P>` | PropertySet.`of(P... properties)` Create a new PropertySet containing given `properties`.
    `static <P extends Property> PropertySet<P>` | PropertySet.`of(PropertySet<? extends P> propertySet, P... properties)` Create a new `PropertySet` joining given `propertySet` with given additional `properties`.
    `default <T> String` | PropertyBox.`present(Property<T> property)` Present given `property` value, obtained from this PropertyBox, as a `String`, using current `PropertyValuePresenterRegistry` if available as `Context` resource to obtain a suitable `PropertyValuePresenter`, or default presenter `PropertyValuePresenterRegistry.getDefault()` otherwise.
    `String` | PropertyValuePresenter.`present(Property<T> property, T value)` Get the `value` of the given `property` as `String`.
    `R` | PropertyRenderer.`render(Property<? extends T> property)` Renders the given `property` as a `PropertyRenderer.getRenderType()` object
    `<T> PropertyBox.Builder` | PropertyBox.Builder.`set(Property<T> property, T value)` Set value of given `property`.
    `<T> PropertyBox.Builder` | PropertyBox.Builder.`setIgnoreReadOnly(Property<T> property, T value)` Set value of given `property`, ignoring property read-only state.
    `<T> void` | PropertyBox.`setValue(Property<T> property, T value)` Set the value of given `property`.
    `MODEL` | PropertyValueConverter.`toModel(TYPE value, Property<TYPE> property)` Convert given value from property value type to model data type

    Method parameters in com.holonplatform.core.property with type arguments of type Property
    Modifier and Type | Method and Description
    --- | ---
    `static <R,T> PropertyRenderer<R,T>` | PropertyRenderer.`create(Class<? extends R> renderingType, Function<Property<? extends T>,R> renderer)` Create a `PropertyRenderer` for given `renderingType` using given `renderer` `Function` to perform actual property rendering.
    `<R,T> void` | PropertyRendererRegistry.`register(Predicate<Property<? extends T>> condition, PropertyRenderer<R,T> renderer)` Bind a `PropertyRenderer` to a property `Predicate` `condition`.
    `<T> void` | PropertyValuePresenterRegistry.`register(Predicate<Property<? extends T>> condition, PropertyValuePresenter<? super T> presenter)` Bind a `PropertyValuePresenter` to a property `Predicate` `condition`

    Constructors in com.holonplatform.core.property with parameters of type Property
    Constructor and Description
    `PropertyAccessException(Property<?> property)` Default constructor
    `PropertyAccessException(Property<?> property, String message)` Constructor with error message
    `PropertyAccessException(Property<?> property, String message, Throwable cause)` Constructor with error message and nested exception
    `PropertyAccessException(Property<?> property, Throwable cause)` Constructor with nested exception
    `PropertyConversionException(Property<?> property, String message)` Constructor with error message
    `PropertyConversionException(Property<?> property, String message, Throwable cause)` Constructor with error message and nested exception
    `PropertyConversionException(Property<?> property, Throwable cause)` Constructor with nested exception
    `PropertyNotFoundException(Property<?> property, String message)` Constructor
    `PropertyReadException(Property<?> property, String message)` Constructor with error message
    `PropertyReadException(Property<?> property, String message, Throwable cause)` Constructor with error message and nested exception
    `PropertyReadException(Property<?> property, Throwable cause)` Constructor with nested exception
    `PropertyReadOnlyException(Property<?> property)` Construct a new PropertyReadOnlyException
    `PropertyWriteException(Property<?> property, String message)` Constructor with error message
    `PropertyWriteException(Property<?> property, String message, Throwable cause)` Constructor with error message and nested exception
    `PropertyWriteException(Property<?> property, Throwable cause)` Constructor with nested exception

  - ### Uses of Property in com.holonplatform.core.query

    Subinterfaces of Property in com.holonplatform.core.query
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `QueryFunction.Avg` A function which represents the average value of a query result.
    `static interface` | `QueryFunction.Count` A function which represents the count of a query result values.
    `static interface` | `QueryFunction.Max<T>` A function which represents the largest value of a query result.
    `static interface` | `QueryFunction.Min<T>` A function which represents the smallest value of a query result.
    `static interface` | `QueryFunction.PropertyQueryFunction<T,A>` A `QueryFunction` which is also a `Property`, allowing the function to be used within a property set query projection and the function value to be collected in a `PropertyBox`.
    `static interface` | `QueryFunction.Sum<T extends Number>` A function which represents the sum of a numeric query result values.
    `interface` | `StringFunction` Represents a `QueryFunction` on a String data type.
    `static interface` | `StringFunction.Lower` Function to convert a string to lowercase.
    `static interface` | `StringFunction.Upper` Function to convert a string to uppercase.
    `static interface` | `TemporalFunction.Day` A function to extract the day part of a temporal data type.
    `static interface` | `TemporalFunction.Hour` A function to extract the hour part of a temporal data type.
    `static interface` | `TemporalFunction.Month` A function to extract the month part of a temporal data type.
    `static interface` | `TemporalFunction.Year` A function to extract the year part of a temporal data type.

    Methods in com.holonplatform.core.query with type parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `default <P extends Property> Optional<PropertyBox>` | QueryResults.`findOne(Iterable<P> properties)` Execute query and get an expected unique result as `PropertyBox` using given `properties` as projection.
    `default <P extends Property> OR` | QueryProjectionOperations.`findOne(Iterable<P> properties)` Execute query and get an expected unique result as `PropertyBox` using given `properties` as projection.
    `default <P extends Property> List<PropertyBox>` | QueryResults.`list(Iterable<P> properties)` Execute query and get a `List` of query results as `PropertyBox` using given `properties` as projection.
    `default <P extends Property> LR` | QueryProjectionOperations.`list(Iterable<P> properties)` Execute query and get a `List` of query results as `PropertyBox` using given `properties` as projection.
    `static <P extends Property> PropertySetProjection` | PropertySetProjection.`of(Iterable<P> properties)` Create a PropertySetProjection using given `properties`
    `static <P extends Property> QueryProjection<PropertyBox>` | QueryProjection.`propertySet(Iterable<P> properties)` Create a `PropertyBox` type query projection using given `properties` as property set.
    `default <P extends Property> Stream<PropertyBox>` | QueryResults.`stream(Iterable<P> properties)` Execute query and get a `Stream` of query results as `PropertyBox` using given `properties` as projection.
    `default <P extends Property> SR` | QueryProjectionOperations.`stream(Iterable<P> properties)` Execute query and get a `Stream` of query results as `PropertyBox` using given `properties` as projection.

    Methods in com.holonplatform.core.query with parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `default Optional<PropertyBox>` | QueryResults.`findOne(Property... properties)` Execute query and get an expected unique result as `PropertyBox` using given `properties` as projection.
    `default OR` | QueryProjectionOperations.`findOne(Property... properties)` Execute query and get an expected unique result as `PropertyBox` using given `properties` as projection.
    `default List<PropertyBox>` | QueryResults.`list(Property... properties)` Execute query and get a `List` of query results as `PropertyBox` using given `properties` as projection.
    `default LR` | QueryProjectionOperations.`list(Property... properties)` Execute query and get a `List` of query results as `PropertyBox` using given `properties` as projection.
    `static QueryProjection<PropertyBox>` | QueryProjection.`propertySet(Property<?>... properties)` Create a `PropertyBox` type query projection using given `properties` as property set.
    `default Stream<PropertyBox>` | QueryResults.`stream(Property... properties)` Execute query and get a `Stream` of query results as `PropertyBox` using given `properties` as projection.
    `default SR` | QueryProjectionOperations.`stream(Property... properties)` Execute query and get a `Stream` of query results as `PropertyBox` using given `properties` as projection.

  - ### Uses of Property in com.holonplatform.http.rest

    Methods in com.holonplatform.http.rest with type parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `<P extends Property> R` | RestClientOperations.RequestConfiguration.`propertySet(Iterable<P> properties)` Use given `Property` set to perform invocation.
    `<P extends Property> R` | RestClientOperations.RequestConfiguration.`propertySet(P... properties)` Use given `Property` set to perform invocation.

    Methods in com.holonplatform.http.rest with parameters of type Property
    Modifier and Type | Method and Description
    --- | ---
    `<P extends Property> R` | RestClientOperations.RequestConfiguration.`propertySet(P... properties)` Use given `Property` set to perform invocation.

Copyright © 2019 The Holon Platform. All rights reserved.