org.apache.commons.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 Summary
 Object getProperty(Map<String,Object> context, Object target, Object name)
          Extracts and returns the property of the given name from the given target object.
 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.
 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.
 void setProperty(Map<String,Object> context, Object target, Object name, Object value)
          Sets the value of the property of the given name in the given target object.
 

Method Detail

getProperty

Object getProperty(Map<String,Object> 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<String,Object> 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.


Copyright © 1997-2013 The Apache Software Foundation. All Rights Reserved.