Package org.apache.cayenne.reflect
Class PropertyUtils
- java.lang.Object
-
- 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
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Accessor
accessor(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
installAccessorFactory(AccessorFactory accessorFactory)
This method installs custom accessor factory to be used by property utils.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.
-
-
-
Method Detail
-
accessor
public static Accessor accessor(String nestedPropertyName)
Compiles an accessor that can be used for fast access for the nested property of the objects of a given class.- Since:
- 4.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
-
installAccessorFactory
public static void installAccessorFactory(AccessorFactory accessorFactory)
This method installs custom accessor factory to be used by property utils.A factory that produces
BeanAccessor
is used by default.- Parameters:
accessorFactory
- new factory to use- Since:
- 4.1
-
-