public class ResolvingContextImpl extends java.lang.Object implements EditableResolvingContext
Constructor and Description |
---|
ResolvingContextImpl() |
Modifier and Type | Method and Description |
---|---|
<R,E extends Expression<R>> |
put(E key,
R value)
Put a key and value in the resolving context.
|
void |
putAllNew(ResolvingContext context)
Put all new key/value pairs in the resolving context from a previous version of it
|
<R,E extends Expression<R>> |
resolvedValueOf(E expression)
Retrieves the resolved value for the expression.
|
<E extends Expression<?>> |
resolves(E expression)
Checks if the expression is resolved within this context.
|
int |
size()
Retrieves the amount of resolved values which are stored in the context.
|
public void putAllNew(ResolvingContext context)
EditableResolvingContext
putAllNew
in interface EditableResolvingContext
context
- the context to extract the new key/value pairspublic int size()
ResolvingContext
size
in interface ResolvingContext
public <E extends Expression<?>> boolean resolves(E expression)
ResolvingContext
true
, then it is
safe to call the ResolvingContext.resolvedValueOf(Expression)
method. An expression is seen as resolved, either if the
context knows already the resolved value or, if the given expression is a resolved expression by itself.resolves
in interface ResolvingContext
expression
- the expression for which to check if it is resolvedtrue
if the expression is resolved within the context, false
if notpublic <R,E extends Expression<R>> R resolvedValueOf(E expression)
ResolvingContext
An IllegalArgumentException
will be thrown, if the expression cannot be resolved within the context.
Therefore it is mandatory to call the ResolvingContext.resolves(Expression)
method first to check if the expression is
resolved in the context.
resolvedValueOf
in interface ResolvingContext
expression
- the expression for which to retrieve the resolved valuepublic <R,E extends Expression<R>> void put(E key, R value)
EditableResolvingContext
put
in interface EditableResolvingContext
key
- the unresolved nodevalue
- the resolved version of the key node