Package ognl

Interface PropertyAccessor

All Known Implementing Classes:
ArrayPropertyAccessor, EnumerationPropertyAccessor, IteratorPropertyAccessor, ListPropertyAccessor, MapPropertyAccessor, ObjectPropertyAccessor, SetPropertyAccessor

public interface PropertyAccessor
This interface defines methods for setting and getting a property from a target object. A "property" in this case is a named data value that takes the generic form of an Object---the same definition as is used by beans. But the operational semantics of the term will vary by implementation of this interface: a bean-style implementation will get and set properties as beans do, by reflection on the target object's class, but other implementations are possible, such as one that uses the property name as a key into a map.

An implementation of this interface will often require that its target objects all be of some particular type. For example, the MapPropertyAccessor class requires that its targets all implement the java.util.Map interface.

Note that the "name" of a property is represented by a generic Object. Some implementations may require properties' names to be Strings, while others may allow them to be other types---for example, ArrayPropertyAccessor treats Number names as indexes into the target object, which must be an array.

Author:
Luke Blanshard (blanshlu@netscape.net), Drew Davidson (drew@ognl.org)
  • Method Details

    • getProperty

      Object getProperty(Map context, Object target, Object name) throws OgnlException
      Extracts and returns the property of the given name from the given target object.
      Parameters:
      context - The current execution context.
      target - the object to get the property from
      name - the name of the property to get.
      Returns:
      the current value of the given property in the given object
      Throws:
      OgnlException - if there is an error locating the property in the given object
    • setProperty

      void setProperty(Map context, Object target, Object name, Object value) throws OgnlException
      Sets the value of the property of the given name in the given target object.
      Parameters:
      context - The current execution context.
      target - the object to set the property in
      name - the name of the property to set
      value - the new value for the property.
      Throws:
      OgnlException - if there is an error setting the property in the given object
    • getSourceAccessor

      String getSourceAccessor(OgnlContext context, Object target, Object index)
      Returns a java string representing the textual method that should be called to access a particular element. (ie "get")
      Parameters:
      context - The current execution context.
      target - The current object target on the expression tree being evaluated.
      index - The index object that will be placed inside the string to access the value.
      Returns:
      The source accessor method to call.
    • getSourceSetter

      String getSourceSetter(OgnlContext context, Object target, Object index)
      Returns a java string representing the textual method that should be called to set a particular element. (ie "set")
      Parameters:
      context - The current execution context.
      target - The current object target on the expression tree being evaluated.
      index - The index object that will be placed inside the string to set the value.
      Returns:
      The source setter method to call.