org.apache.cayenne.reflect
Class PropertyUtils

java.lang.Object
  extended by org.apache.cayenne.reflect.PropertyUtils

public class PropertyUtils
extends Object

Utility methods to quickly access object properties. This class supports simple and nested properties and also conversion of property values to match property type. No converter customization is provided yet, so only basic converters for Strings, Numbers and primitives are available.

Since:
1.2

Method Summary
static Accessor createAccessor(Class<?> objectClass, String nestedPropertyName)
          Compiles an accessor that can be used for fast access for the nested property of the objects of a given class.
static Object getProperty(Object object, String nestedPropertyName)
          Returns object property using JavaBean-compatible introspection with one addition - a property can be a dot-separated property name path.
static void setProperty(Object object, String nestedPropertyName, Object value)
          Sets object property using JavaBean-compatible introspection with one addition - a property can be a dot-separated property name path.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

createAccessor

public static Accessor createAccessor(Class<?> objectClass,
                                      String nestedPropertyName)
Compiles an accessor that can be used for fast access for the nested property of the objects of a given class.

Since:
3.0

getProperty

public static Object getProperty(Object object,
                                 String nestedPropertyName)
                          throws CayenneRuntimeException
Returns object property using JavaBean-compatible introspection with one addition - a property can be a dot-separated property name path.

Throws:
CayenneRuntimeException

setProperty

public static void setProperty(Object object,
                               String nestedPropertyName,
                               Object value)
                        throws CayenneRuntimeException
Sets object property using JavaBean-compatible introspection with one addition - a property can be a dot-separated property name path. Before setting a value attempts to convert it to a type compatible with the object property. Automatic conversion is supported between strings and basic types like numbers or primitives.

Throws:
CayenneRuntimeException


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.