## Uses of Interface
com.holonplatform.core.Expression

- Packages that use Expression
  Package | Description
  --- | ---
  com.holonplatform.core |
  com.holonplatform.core.beans |
  com.holonplatform.core.datastore |
  com.holonplatform.core.datastore.operation.commons |
  com.holonplatform.core.datastore.relational |
  com.holonplatform.core.property |
  com.holonplatform.core.query |

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

    Classes in com.holonplatform.core with type parameters of type Expression
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `Expression.ExpressionResolverFunction<E extends Expression,R extends Expression>` A function to translate an `Expression` into another `Expression` type.
    `static interface` | `Expression.ExpressionResolverFunction<E extends Expression,R extends Expression>` A function to translate an `Expression` into another `Expression` type.
    `interface` | `ExpressionResolver<E extends Expression,R extends Expression>` Resolver to translate an `Expression` into another `Expression` type.
    `interface` | `ExpressionResolver<E extends Expression,R extends Expression>` Resolver to translate an `Expression` into another `Expression` type.

    Subinterfaces of Expression in com.holonplatform.core
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `CollectionConstantExpression<T>` A `ConstantConverterExpression` with a `Collection` value type.
    `interface` | `CollectionExpression<E,C extends Collection<E>>` A `Collection` type `TypedExpression`.
    `interface` | `ConstantConverterExpression<T,E>` An expression which represents a constant value and supports value conversion using an `ExpressionValueConverter`.
    `interface` | `ConverterExpression<T>` A `TypedExpression` which supports an optional `ExpressionValueConverter` to perform expression type conversion.
    `interface` | `NullExpression<T>` A `TypedExpression` which represents a `null` value, with expression value conversion support.
    `interface` | `Path<T>` Represents a generic, typed path for a data structure attribute which can be identified by a `String` name.
    `static interface` | `Path.FinalPath<T>` Represents a final path, i.e. a path which do not support any parent path.
    `static interface` | `Path.FinalPath.FinalPathBuilder<T>` `Path.FinalPath` builder.
    `static interface` | `Path.PathBuilder<T>` Path builder.
    `interface` | `TypedExpression<T>` An `Expression` with a declared type.

    Methods in com.holonplatform.core with type parameters of type Expression
    Modifier and Type | Method and Description
    --- | ---
    `<E extends Expression,R extends Expression> void` | ExpressionResolver.ExpressionResolverSupport.`addExpressionResolver(ExpressionResolver<E,R> expressionResolver)` Add an `ExpressionResolver`.
    `<E extends Expression,R extends Expression> void` | ExpressionResolver.ExpressionResolverSupport.`addExpressionResolver(ExpressionResolver<E,R> expressionResolver)` Add an `ExpressionResolver`.
    `static <E extends Expression,R extends Expression> ExpressionResolver<E,R>` | ExpressionResolver.`create(Class<? extends E> expressionType, Class<? extends R> resolvedType, Expression.ExpressionResolverFunction<E,R> function)` Create an `ExpressionResolver` providing expression types and resolution function.
    `static <E extends Expression,R extends Expression> ExpressionResolver<E,R>` | ExpressionResolver.`create(Class<? extends E> expressionType, Class<? extends R> resolvedType, Expression.ExpressionResolverFunction<E,R> function)` Create an `ExpressionResolver` providing expression types and resolution function.
    `<E extends Expression,R extends Expression> void` | ExpressionResolver.ExpressionResolverSupport.`removeExpressionResolver(ExpressionResolver<E,R> expressionResolver)` Remove an `ExpressionResolver`.
    `<E extends Expression,R extends Expression> void` | ExpressionResolver.ExpressionResolverSupport.`removeExpressionResolver(ExpressionResolver<E,R> expressionResolver)` Remove an `ExpressionResolver`.
    `<E extends Expression,R extends Expression> Optional<R>` | ExpressionResolver.ExpressionResolverHandler.`resolve(E expression, Class<R> resolutionType, ExpressionResolver.ResolutionContext context)` Try to resolve given `expression` to obtain an `Expression` of the specified `resolutionType`, using the suitable `ExpressionResolver`s among all available resolvers for given expression and resolution type.
    `<E extends Expression,R extends Expression> Optional<R>` | ExpressionResolver.ExpressionResolverHandler.`resolve(E expression, Class<R> resolutionType, ExpressionResolver.ResolutionContext context)` Try to resolve given `expression` to obtain an `Expression` of the specified `resolutionType`, using the suitable `ExpressionResolver`s among all available resolvers for given expression and resolution type.
    `<E extends Expression,R extends Expression> C` | ExpressionResolver.ExpressionResolverBuilder.`withExpressionResolver(ExpressionResolver<E,R> expressionResolver)` Add an `ExpressionResolver`.
    `<E extends Expression,R extends Expression> C` | ExpressionResolver.ExpressionResolverBuilder.`withExpressionResolver(ExpressionResolver<E,R> expressionResolver)` Add an `ExpressionResolver`.

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

    Subinterfaces of Expression in com.holonplatform.core.beans
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `BeanDataTarget<T>` A `DataTarget` which uses a bean class a path type.
    `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 Expression in com.holonplatform.core.datastore

    Subinterfaces of Expression in com.holonplatform.core.datastore
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `DataTarget<T>` Representation of the target element of a data model persistence/query operation.

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

    Subinterfaces of Expression in com.holonplatform.core.datastore.operation.commons
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `BulkDeleteOperationConfiguration` Bulk `DELETE` operation configuration.
    `interface` | `BulkInsertOperationConfiguration` Bulk `INSERT` operation configuration.
    `interface` | `BulkUpdateOperationConfiguration` Bulk `UPDATE` operation configuration.
    `interface` | `DatastoreOperationConfiguration` Represents a `DatastoreOperation` configuration.
    `interface` | `PropertyBoxOperationConfiguration` A `DatastoreOperationConfiguration` with `PropertyBox` support.

  - ### Uses of Expression in com.holonplatform.core.datastore.relational

    Subinterfaces of Expression in com.holonplatform.core.datastore.relational
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `Aliasable.AliasablePath<T,C extends Aliasable.AliasablePath<T,C>>` Represents an `Aliasable` `Path`.
    `interface` | `Join<T>` Represents a relational join expression between two `DataTarget`s.
    `interface` | `RelationalTarget<T>` A `DataTarget` which can be use with relational `Datastore`s.
    `interface` | `SubQuery<T>` Relational sub query `QueryExpression`.

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

    Subinterfaces of Expression 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` | `Property<T>` Property is the base interface to represent a generic data attribute.
    `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.

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

    Subinterfaces of Expression in com.holonplatform.core.query
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `BeanProjection<T>` A `QueryProjection` which uses a `BeanPropertySet` to define the projection selection and returns `BeanPropertySet.getBeanClass()` type results.
    `interface` | `ConstantExpression<T>` Constant value expression which can also act as `QueryProjection`.
    `interface` | `CountAllProjection` A `QueryProjection` to represent the count of all the results of a query.
    `interface` | `NumericQueryExpression<N extends Number>` A `QueryExpression` of `Number` type.
    `interface` | `PathExpression<T>` A `QueryExpression` wich represents a `Path`.
    `interface` | `PropertySetProjection` A `QueryProjection` which uses a `PropertySet` to define the projection selection and returns `PropertyBox` type results.
    `interface` | `QueryAggregation` Represents a query results aggregation clause.
    `interface` | `QueryConfiguration` Represents the configuration of a query, providing configuration elements and supporting `ExpressionResolver`s.
    `interface` | `QueryExpression<T>` Represent a general typed expression used by `Query` clauses.
    `interface` | `QueryFilter` A `Query` expression representing a filter (query restriction) condition.
    `static interface` | `QueryFilter.CompositeQueryFilter` A `QueryFilter` which represents a query filters composition.
    `interface` | `QueryFunction<T,A>` Represents a function expression.
    `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.NoArgQueryFunction<T>` A `QueryFunction` which do not support any argument.
    `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` | `QueryOperation<C extends QueryConfiguration,R>` Represent a query operation expression, providing query configuration and projection.
    `interface` | `QueryProjection<T>` A query projection `Expression` to obtain typed query results.
    `interface` | `QuerySort` A `Query` expression representing a sort condition.
    `static interface` | `QuerySort.CompositeQuerySort` A `QuerySort` which represents a sort expressions list.
    `static interface` | `QuerySort.PathQuerySort<T>` A `QuerySort` bound to a `Path` expression.
    `interface` | `SelectAllProjection` A `QueryProjection` to obtain all the values af a persistent data entity instance.
    `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.
    `interface` | `StringQueryExpression` A `QueryExpression` of `String` type.
    `interface` | `TemporalFunction<T>` Represents a temporal-related `QueryFunction`.
    `static interface` | `TemporalFunction.CurrentDate` A function to obtain the current date as a `Date`.
    `static interface` | `TemporalFunction.CurrentLocalDate` A function to obtain the current date as a `LocalDate`.
    `static interface` | `TemporalFunction.CurrentLocalDateTime` A function to obtain the current date and time as a `LocalDateTime`.
    `static interface` | `TemporalFunction.CurrentTimestamp` A function to obtain the current timestamp as a `Date`.
    `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.
    `interface` | `TemporalQueryExpression<T>` A `QueryExpression` of a temporal type.

Copyright © 2019 The Holon Platform. All rights reserved.