E
- Expression typeR
- Resolved expression typepublic class CallbackExpressionResolver<E extends Expression,R extends Expression> extends Object implements ExpressionResolver<E,R>
ExpressionResolver
which uses a Expression.ExpressionResolverFunction
in conjunction with expression and
resolution type to create the resolver implementation.ExpressionResolver.ExpressionResolverBuilder<C extends ExpressionResolver.ExpressionResolverBuilder<C>>, ExpressionResolver.ExpressionResolverHandler, ExpressionResolver.ExpressionResolverProvider, ExpressionResolver.ExpressionResolverSupport, ExpressionResolver.ResolutionContext
DEFAULT_PRIORITY
Constructor and Description |
---|
CallbackExpressionResolver(Class<? extends E> expressionType,
Class<? extends R> resolvedType,
Expression.ExpressionResolverFunction<E,R> function) |
Modifier and Type | Method and Description |
---|---|
Class<? extends E> |
getExpressionType()
Get the expression type which this resolver can handle.
|
Class<? extends R> |
getResolvedType()
Get the resolved expression type
|
Optional<R> |
resolve(E expression,
ExpressionResolver.ResolutionContext context)
Try to resolve given
expression . |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
create
public Optional<R> resolve(E expression, ExpressionResolver.ResolutionContext context) throws Expression.InvalidExpressionException
Expression.ExpressionResolverFunction
expression
. If the resolver is not able to resolve given expression type,
an empty Optional must be returned and the expression resolution engine should delegate the resolution to the
next resolver, if available.
Concrete resolution environments could provide a more specialized ExpressionResolver.ResolutionContext
interface.
resolve
in interface Expression.ExpressionResolverFunction<E extends Expression,R extends Expression>
expression
- Expression to resolvecontext
- Resolution contextExpression.InvalidExpressionException
- An error occurred during expression resolutionpublic Class<? extends E> getExpressionType()
ExpressionResolver
getExpressionType
in interface ExpressionResolver<E extends Expression,R extends Expression>
public Class<? extends R> getResolvedType()
ExpressionResolver
getResolvedType
in interface ExpressionResolver<E extends Expression,R extends Expression>
Copyright © 2019 The Holon Platform. All rights reserved.