javax.servlet.jsp.el
Class ImplicitObjectELResolver

java.lang.Object
  extended by javax.el.ELResolver
      extended by javax.servlet.jsp.el.ImplicitObjectELResolver

public class ImplicitObjectELResolver
extends ELResolver

Defines variable resolution behavior for the EL implicit objects defined in the JSP specification.

The following variables are resolved by this ELResolver, as per the JSP specification:

Since:
JSP 2.1
See Also:
ELResolver

Field Summary
 
Fields inherited from class javax.el.ELResolver
RESOLVABLE_AT_DESIGN_TIME, TYPE
 
Constructor Summary
ImplicitObjectELResolver()
           
 
Method Summary
 Class<String> getCommonPropertyType(ELContext context, Object base)
          If the base object is null, returns String.class.
 Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base)
          If the base object is null, and the property matches the name of a JSP implicit object, returns an Iterator containing FeatureDescriptor objects with information about each JSP implicit object resolved by this resolver.
 Class getType(ELContext context, Object base, Object property)
          If the base object is null, and the property matches the name of a JSP implicit object, returns null to indicate that no types are ever accepted to setValue().
 Object getValue(ELContext context, Object base, Object property)
          If the base object is null, and the property matches the name of a JSP implicit object, returns the implicit object.
 boolean isReadOnly(ELContext context, Object base, Object property)
          If the base object is null, and the property matches the name of a JSP implicit object, returns true to indicate that implicit objects cannot be overwritten.
 void setValue(ELContext context, Object base, Object property, Object val)
          If the base object is null, and the property matches the name of a JSP implicit object, throws PropertyNotWritableException to indicate that implicit objects cannot be overwritten.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImplicitObjectELResolver

public ImplicitObjectELResolver()
Method Detail

getValue

public Object getValue(ELContext context,
                       Object base,
                       Object property)
If the base object is null, and the property matches the name of a JSP implicit object, returns the implicit object.

The propertyResolved property of the ELContext object must be set to true by this resolver before returning if an implicit object is matched. If this property is not true after this method is called, the caller should ignore the return value.

Specified by:
getValue in class ELResolver
Parameters:
context - The context of this evaluation.
base - Only null is handled by this resolver. Other values will result in an immediate return.
property - The name of the implicit object to resolve.
Returns:
If the propertyResolved property of ELContext was set to true, then the implicit object; otherwise undefined.
Throws:
NullPointerException - if context is null
ELException - if an exception was thrown while performing the property or variable resolution. The thrown exception must be included as the cause property of this exception, if available.

getType

public Class getType(ELContext context,
                     Object base,
                     Object property)
If the base object is null, and the property matches the name of a JSP implicit object, returns null to indicate that no types are ever accepted to setValue().

The propertyResolved property of the ELContext object must be set to true by this resolver before returning if an implicit object is matched. If this property is not true after this method is called, the caller should ignore the return value.

Specified by:
getType in class ELResolver
Parameters:
context - The context of this evaluation.
base - Only null is handled by this resolver. Other values will result in an immediate return.
property - The name of the implicit object to resolve.
Returns:
If the propertyResolved property of ELContext was set to true, then null; otherwise undefined.
Throws:
NullPointerException - if context is null
ELException - if an exception was thrown while performing the property or variable resolution. The thrown exception must be included as the cause property of this exception, if available.

setValue

public void setValue(ELContext context,
                     Object base,
                     Object property,
                     Object val)
If the base object is null, and the property matches the name of a JSP implicit object, throws PropertyNotWritableException to indicate that implicit objects cannot be overwritten.

The propertyResolved property of the ELContext object must be set to true by this resolver before returning if an implicit object is matched. If this property is not true after this method is called, the caller should ignore the return value.

Specified by:
setValue in class ELResolver
Parameters:
context - The context of this evaluation.
base - Only null is handled by this resolver. Other values will result in an immediate return.
property - The name of the implicit object.
val - The value to be associated with the implicit object.
Throws:
NullPointerException - if context is null.
PropertyNotWritableException - always thrown, if the implicit object name is recognized by this resolver.
ELException - if an exception was thrown while performing the property or variable resolution. The thrown exception must be included as the cause property of this exception, if available.

isReadOnly

public boolean isReadOnly(ELContext context,
                          Object base,
                          Object property)
If the base object is null, and the property matches the name of a JSP implicit object, returns true to indicate that implicit objects cannot be overwritten.

The propertyResolved property of the ELContext object must be set to true by this resolver before returning if an implicit object is matched. If this property is not true after this method is called, the caller should ignore the return value.

Specified by:
isReadOnly in class ELResolver
Parameters:
context - The context of this evaluation.
base - Only null is handled by this resolver. Other values will result in an immediate return.
property - The name of the implicit object.
Returns:
If the propertyResolved property of ELContext was set to true, then true; otherwise undefined.
Throws:
NullPointerException - if context is null.
ELException - if an exception was thrown while performing the property or variable resolution. The thrown exception must be included as the cause property of this exception, if available.

getFeatureDescriptors

public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context,
                                                         Object base)
If the base object is null, and the property matches the name of a JSP implicit object, returns an Iterator containing FeatureDescriptor objects with information about each JSP implicit object resolved by this resolver. Otherwise, returns null.

The Iterator returned must contain one instance of FeatureDescriptor for each of the EL implicit objects defined by the JSP spec. Each info object contains information about a single implicit object, and is initialized as follows:

  • displayName - The name of the implicit object.
  • name - Same as displayName property.
  • shortDescription - A suitable description for the implicit object. Will vary by implementation.
  • expert - false
  • hidden - false
  • preferred - true
  • In addition, the following named attributes must be set in the returned FeatureDescriptors:
  • ELResolver.TYPE - The runtime type of the implicit object.
  • ELResolver.RESOLVABLE_AT_DESIGN_TIME - true.
  • Specified by:
    getFeatureDescriptors in class ELResolver
    Parameters:
    context - The context of this evaluation.
    base - Only null is handled by this resolver. Other values will result in a null return value.
    Returns:
    An Iterator containing one FeatureDescriptor object for each implicit object, or null if base is not null.
    See Also:
    FeatureDescriptor

    getCommonPropertyType

    public Class<String> getCommonPropertyType(ELContext context,
                                               Object base)
    If the base object is null, returns String.class. Otherwise, returns null.

    Specified by:
    getCommonPropertyType in class ELResolver
    Parameters:
    context - The context of this evaluation.
    base - Only null is handled by this resolver. Other values will result in a null return value.
    Returns:
    null if base is not null; otherwise String.class.


    Submit a bug or feature

    Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.