## 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.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` | `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.PathBuilder<T>` Path builder.

    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` | `BeanProperty<T>` Represents a Java Bean property as a `PathProperty`, providing additional configuration informations and methods.
    `static interface` | `BeanProperty.Builder<T>` BeanProperty builder.

  - ### 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.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` | `PathProperty<T>` A `Property` bound to a `Path`, using `Path.getName()` as property name.
    `static interface` | `PathProperty.PathPropertyBuilder<T>` `PathProperty` 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,E>` Constant value `QueryExpression`.
    `interface` | `CountAllProjection` A `QueryProjection` to represent the count of all the results of a query.
    `interface` | `FunctionExpression<T>` A `QueryExpression` wich represents the result of a `QueryFunction` a can be used as `QueryProjection`.
    `static interface` | `FunctionExpression.FunctionExpressionProperty<T>` A `FunctionExpression` implemented as a `Property`.
    `static interface` | `FunctionExpression.PathFunctionExpression<P,T>` A `FunctionExpression` which acts on a `Path`.
    `static interface` | `FunctionExpression.PathFunctionExpressionProperty<P,T>` A `FunctionExpression.PathFunctionExpression` implemented as a `VirtualProperty`.
    `interface` | `PathExpression<T>` A `QueryExpression` wich represents a `Path`.
    `interface` | `PropertyConstantExpression<T,E>` A `QueryExpression` which represents a `Property` value.
    `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` | `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.
    `static interface` | `QueryFilter.OperationQueryFilter<T>` A `QueryFilter` which represents an operation with operator and arguments.
    `interface` | `QueryFunction<T>` Represents a generic function to be used in a `Query` definition.
    `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.Sum<T>` A function which represents the sum of a query result values.
    `interface` | `QueryProjection<T>` A query projection 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.

Copyright © 2017 The Holon Platform. All rights reserved.