public class DefaultExpressionResolverRegistry extends Object implements ExpressionResolverRegistry
ExpressionResolverRegistry
implementation.Constructor and Description |
---|
DefaultExpressionResolverRegistry()
Contructor with cache enabled by default.
|
DefaultExpressionResolverRegistry(boolean cacheEnabled)
Contructor with cache enabling flag.
|
Modifier and Type | Method and Description |
---|---|
<E extends Expression,R extends Expression> |
addExpressionResolver(ExpressionResolver<E,R> expressionResolver)
Add an
ExpressionResolver . |
Iterable<ExpressionResolver> |
getExpressionResolvers()
Get the available
ExpressionResolver s. |
<E extends Expression,R extends Expression> |
removeExpressionResolver(ExpressionResolver<E,R> expressionResolver)
Remove an
ExpressionResolver . |
<E extends Expression,R extends Expression> |
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. |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
create, create
addExpressionResolvers
public DefaultExpressionResolverRegistry()
public DefaultExpressionResolverRegistry(boolean cacheEnabled)
cacheEnabled
- Whether to enable the expression resolvers cachepublic <E extends Expression,R extends Expression> void addExpressionResolver(ExpressionResolver<E,R> expressionResolver)
ExpressionResolver.ExpressionResolverSupport
ExpressionResolver
.addExpressionResolver
in interface ExpressionResolver.ExpressionResolverSupport
E
- Expression typeR
- Resolved expression typeexpressionResolver
- Resolver to add (not null)public <E extends Expression,R extends Expression> void removeExpressionResolver(ExpressionResolver<E,R> expressionResolver)
ExpressionResolver.ExpressionResolverSupport
ExpressionResolver
.removeExpressionResolver
in interface ExpressionResolver.ExpressionResolverSupport
E
- Expression typeR
- Resolved expression typeexpressionResolver
- Resolver to remove (not null)public Iterable<ExpressionResolver> getExpressionResolvers()
ExpressionResolver.ExpressionResolverProvider
ExpressionResolver
s.getExpressionResolvers
in interface ExpressionResolver.ExpressionResolverProvider
ExpressionResolver
s iterable (not null)public <E extends Expression,R extends Expression> Optional<R> resolve(E expression, Class<R> resolutionType, ExpressionResolver.ResolutionContext context) throws Expression.InvalidExpressionException
ExpressionResolver.ExpressionResolverHandler
expression
to obtain an Expression
of the specified
resolutionType
, using the suitable ExpressionResolver
s among all available resolvers for
given expression and resolution type.
ExpressionResolver
s invokation order is defined relying on Priority
annotation on resolvers
class, if available.
resolve
in interface ExpressionResolver.ExpressionResolverHandler
E
- Expression type to resolveR
- Resolved expression typeexpression
- Expression to resolve (not null)resolutionType
- Type of the expression to obtain from resolvers (not null)context
- Resolution contextExpressionResolver
s, if any,
resolved the expressionExpression.InvalidExpressionException
- If an error occurred during expression resolutionCopyright © 2019 The Holon Platform. All rights reserved.