|
Oracle Fusion Middleware Java API Reference for Oracle ADF Mobile Client 11g Release 1 (11.1.1) E17503-02 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ValueExpression
An Expression
that can get or set a value.
In previous incarnations of this API, expressions could only be read.
ValueExpression
objects can now be used both to retrieve a value and to set a
value. Expressions that can have a value set on them are referred to as l-value expressions.
Those that cannot are referred to as r-value expressions. Not all r-value expressions can be used
as l-value expressions (e.g. "${1+1}"
or "${firstName} ${lastName}"
).
See the EL Specification for details. Expressions that cannot be used as l-values must always
return true
from isReadOnly()
.
The
method can be used to parse an
expression string and return a concrete instance of ExpressionFactory.createValueExpression(oracle.adfnmc.el.ELContext, java.lang.String, java.lang.Class)
ValueExpression
that
encapsulates the parsed expression. The FunctionMapper
is used at parse time, not
evaluation time, so one is not needed to evaluate an expression using this class. However, the
ELContext
is needed at evaluation time.
The getValue(oracle.adfnmc.el.ELContext)
, setValue(oracle.adfnmc.el.ELContext, java.lang.Object)
, isReadOnly(oracle.adfnmc.el.ELContext)
and getType(oracle.adfnmc.el.ELContext)
methods will
evaluate the expression each time they are called. The ELResolver
in the
ELContext
is used to resolve the top-level variables and to determine the behavior
of the .
and []
operators. For any of the four methods, the
ELResolver.getValue(oracle.adfnmc.el.ELContext, java.lang.Object, java.lang.Object)
method is used to resolve all properties up to but excluding the last
one. This provides the base
object. At the last resolution, the
ValueExpression
will call the corresponding ELResolver.getValue(oracle.adfnmc.el.ELContext, java.lang.Object, java.lang.Object)
,
ELResolver.setValue(oracle.adfnmc.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)
, ELResolver.isReadOnly(oracle.adfnmc.el.ELContext, java.lang.Object, java.lang.Object)
or ELResolver.getType(oracle.adfnmc.el.ELContext, java.lang.Object, java.lang.Object)
method,
depending on which was called on the ValueExpression
.
See the notes about comparison, serialization and immutability in the Expression
javadocs.
ELResolver
,
Expression
,
ExpressionFactory
Method Summary | |
---|---|
java.lang.Class |
getExpectedType()
Returns the type the result of the expression will be coerced to after evaluation. |
java.lang.Class |
getType(ELContext context)
Evaluates the expression relative to the provided context, and returns the most general type that is acceptable for an object to be passed as the value parameter in a
future call to the setValue(oracle.adfnmc.el.ELContext, java.lang.Object) method. |
java.lang.Object |
getValue()
Convenience wrapper for getValue(ELContext), for when there is a single ELContext referencable by implementors |
java.lang.Object |
getValue(ELContext context)
Evaluates the expression relative to the provided context, and returns the resulting value. |
boolean |
isReadOnly()
Convenience wrapper for isReadOnly(ELContext context), for when there is a single ELContext referencable by implementors |
boolean |
isReadOnly(ELContext context)
Evaluates the expression relative to the provided context, and returns true if
a call to setValue(oracle.adfnmc.el.ELContext, java.lang.Object) will always fail. |
boolean |
isValueSecret()
Returns true if the value resolved by this expression is secret and should not be displayed or logged |
void |
setExpectedType(java.lang.Class type)
Sets the type the result of the expression will be coerced to after evaluation. |
void |
setValue(ELContext context,
java.lang.Object value)
Evaluates the expression relative to the provided context, and sets the result to the provided value. |
void |
setValue(java.lang.Object value)
Convenience wrapper for setValue(ELContext, Object), for when there is a single ELContext referencable by implementors |
void |
setValueSecret(boolean valueIsSecret)
Set to true if the value resolved by this expression is secret and should not be displayed or logged |
Methods inherited from interface oracle.adfnmc.el.Expression |
---|
equals, getExpressionString, hashCode, isLiteralText |
Method Detail |
---|
java.lang.Object getValue(ELContext context)
The resulting value is automatically coerced to the type returned by
getExpectedType()
, which was provided to the ExpressionFactory
when this expression was created.
context
- The context of this evaluation.
java.lang.NullPointerException
- if context is null
.
PropertyNotFoundException
- if one of the property resolutions failed because a specified variable or
property does not exist or is not readable.
ELException
- if an exception was thrown while performing property or variable resolution. The
thrown exception must be included as the cause property of this exception, if
available.void setValue(ELContext context, java.lang.Object value)
context
- The context of this evaluation.value
- The new value to be set.
java.lang.NullPointerException
- if context is null
.
PropertyNotFoundException
- if one of the property resolutions failed because a specified variable or
property does not exist or is not readable.
PropertyNotWritableException
- if the final variable or property resolution failed because the specified
variable or property is not writable.
ELException
- if an exception was thrown while attempting to set the property or variable. The
thrown exception must be included as the cause property of this exception, if
available.boolean isReadOnly(ELContext context)
true
if
a call to setValue(oracle.adfnmc.el.ELContext, java.lang.Object)
will always fail.
context
- The context of this evaluation.
true
if the expression is read-only or false
if not.
java.lang.NullPointerException
- if context is null
.
PropertyNotFoundException
- if one of the property resolutions failed because a specified variable or
property does not exist or is not readable.
ELException
- if an exception was thrown while performing property or variable resolution. The
thrown exception must be included as the cause property of this exception, if
available.java.lang.Class getType(ELContext context)
value
parameter in a
future call to the setValue(oracle.adfnmc.el.ELContext, java.lang.Object)
method.
This is not always the same as getValue().getClass()
. For example, in the
case of an expression that references an array element, the getType
method
will return the element type of the array, which might be a superclass of the type of the
actual element that is currently in the specified array element.
context
- The context of this evaluation.
java.lang.NullPointerException
- if context is null
.
PropertyNotFoundException
- if one of the property resolutions failed because a specified variable or
property does not exist or is not readable.
ELException
- if an exception was thrown while performing property or variable resolution. The
thrown exception must be included as the cause property of this exception, if
available.java.lang.Class getExpectedType()
expectedType
passed to the
ExpressionFactory.createValueExpression
method that created this
ValueExpression
.void setExpectedType(java.lang.Class type)
type
- java.lang.Object getValue()
void setValue(java.lang.Object value)
boolean isReadOnly()
boolean isValueSecret()
void setValueSecret(boolean valueIsSecret)
|
Oracle Fusion Middleware Java API Reference for Oracle ADF Mobile Client 11g Release 1 (11.1.1) E17503-02 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |