For a given
base
and
property
, attempts to
determine whether a call to
#setValue will always fail. The
result is obtained by querying all component resolvers.
If this resolver handles the given (base, property) pair,
the propertyResolved
property of the
ELContext
object must be set to true
by the resolver, before returning. If this property is not
true
after this method is called, the caller should ignore
the return value.
First, propertyResolved
is set to false
on
the provided ELContext
.
Next, for each component resolver in this composite:
- The
isReadOnly()
method is called, passing in
the provided context
, base
and
property
.
- If the
ELContext
's propertyResolved
flag is false
then iteration continues.
- Otherwise, iteration stops and no more component resolvers are
considered. The value returned by
isReadOnly()
is
returned by this method.
If none of the component resolvers were able to perform this
operation, the value false
is returned and the
propertyResolved
flag remains set to
false
.
Any exception thrown by component resolvers during the iteration
is propagated to the caller of this method.