Package org.openxava.util
Class PropertiesManager
- java.lang.Object
-
- org.openxava.util.PropertiesManager
-
- All Implemented Interfaces:
java.io.Serializable
public class PropertiesManager extends java.lang.Object implements java.io.SerializableManages with reflection the properties of a object.Excludes automatically the property
classofObjectand the indexed properties with no indexed access.- Author:
- Javier Paniza
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description PropertiesManager()PropertiesManager(java.lang.Class theClass)Constructor from a the class of the object to manage.PropertiesManager(java.lang.Object object)Constructor from the object to manage.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectexecuteGet(java.lang.String propertyName)Gets the value of the indicated property.java.util.MapexecuteGets(java.lang.String properties)Gets a group of property values in a map.voidexecuteSet(java.lang.String propertyName, java.lang.Object value)Update property.voidexecuteSetFromString(java.lang.String propertyName, java.lang.Object value)Update property from a string, making needed conversions.voidexecuteSets(java.util.Map properties)Sets property values from a map.voidexecuteSetsFromStrings(java.util.Map properties)Sets property values from a map, trying to convert strings to value of valid type for properties.booleanexists(java.lang.String propertyName)If the property exists.java.lang.ObjectgetObject()Object of which the properties are handled.java.lang.String[]getPropertiesNames()Names of all properties managed bythis.java.beans.PropertyDescriptorgetPropertyDescriptor(java.lang.String propertyName)java.lang.String[]getReadablesPropertiesNames()Names of all properties managed bythiswith getter method.java.lang.String[]getWritablesPropertiesNames()Names of all properties managed bythiswith setter method.booleanhasGetter(java.lang.String propertyName)If the property has getter.booleanhasSetter(java.lang.String propertyName)If the property has setter.voidsetObject(java.lang.Object newObject)Object of which the properties are handled.
-
-
-
Constructor Detail
-
PropertiesManager
public PropertiesManager()
-
PropertiesManager
public PropertiesManager(java.lang.Class theClass)
Constructor from a the class of the object to manage.This initial value can change in the life of this.
-
PropertiesManager
public PropertiesManager(java.lang.Object object)
Constructor from the object to manage.- Parameters:
object- Object to manage
-
-
Method Detail
-
executeGet
public java.lang.Object executeGet(java.lang.String propertyName) throws java.lang.reflect.InvocationTargetException, PropertiesManagerExceptionGets the value of the indicated property.- Parameters:
propertyName- Property name to obtain its value, can be qualified (that is: 'customer.address.street' for example)- Returns:
- Value of the property
- Throws:
java.lang.reflect.InvocationTargetException- Exception originated by the original access methodPropertiesManagerException- Some unexpected problem
-
executeGets
public java.util.Map executeGets(java.lang.String properties) throws java.lang.reflect.InvocationTargetException, PropertiesManagerExceptionGets a group of property values in a map.Precondition
- this.object != null
- Parameters:
properties- Names of properties to get, separated by colon (:). The properties must to exist in the object. If properties is null a empty map is returned.- Returns:
- Map with String propertyName:Object value. Not null.
- Throws:
java.lang.reflect.InvocationTargetException- Exception originated by original access methodPropertiesManagerException- Some unexpected problem
-
executeSet
public void executeSet(java.lang.String propertyName, java.lang.Object value) throws java.lang.reflect.InvocationTargetException, PropertiesManagerExceptionUpdate property.Precondition
- this.object != null
- Parameters:
propertyName- Property name to updatevalue- New value for property. Has to be of compatible type. If value is a Map and the property type is not a map then convert the map in an object of the property type.- Throws:
java.lang.reflect.InvocationTargetException- Excepction originated from original access methodPropertiesManagerException- Any unexpected problem
-
executeSetFromString
public void executeSetFromString(java.lang.String propertyName, java.lang.Object value) throws java.lang.reflect.InvocationTargetException, PropertiesManagerExceptionUpdate property from a string, making needed conversions.Precondition
- this.object != null
- Parameters:
propertyName- Name of property to updatevalue- New value for property. Must to be a compatible type or a string parseable to a compatible type.- Throws:
java.lang.reflect.InvocationTargetException- Exception from original access methodPropertiesManagerException- Any unexpected problem
-
executeSets
public void executeSets(java.util.Map properties) throws java.lang.reflect.InvocationTargetException, PropertiesManagerExceptionSets property values from a map.Precondition
- this.object != null
- this.hasSetter(propertyName)
- Parameters:
properties- Map with String propertyName:Object value. Null is assumed as empty map- Throws:
java.lang.reflect.InvocationTargetException- Excepcion from original access methodPropertiesManagerException- Any unexpected method
-
executeSetsFromStrings
public void executeSetsFromStrings(java.util.Map properties) throws java.lang.reflect.InvocationTargetException, PropertiesManagerExceptionSets property values from a map, trying to convert strings to value of valid type for properties.Precondition
- this.object != null
- this.hasSetter(propertyName)
- Parameters:
properties- Map with String propertyName:Object value. Null is assumed as empty map- Throws:
java.lang.reflect.InvocationTargetException- Excepcion from original access methodPropertiesManagerException- Any unexpected method
-
exists
public boolean exists(java.lang.String propertyName) throws PropertiesManagerExceptionIf the property exists.- Throws:
PropertiesManagerException
-
getPropertiesNames
public java.lang.String[] getPropertiesNames() throws PropertiesManagerExceptionNames of all properties managed bythis.- Returns:
- Not null
- Throws:
PropertiesManagerException
-
getWritablesPropertiesNames
public java.lang.String[] getWritablesPropertiesNames() throws PropertiesManagerExceptionNames of all properties managed bythiswith setter method.- Returns:
- Not null
- Throws:
PropertiesManagerException
-
getReadablesPropertiesNames
public java.lang.String[] getReadablesPropertiesNames() throws PropertiesManagerExceptionNames of all properties managed bythiswith getter method.- Returns:
- Not null
- Throws:
PropertiesManagerException
-
getObject
public java.lang.Object getObject()
Object of which the properties are handled.
-
getPropertyDescriptor
public java.beans.PropertyDescriptor getPropertyDescriptor(java.lang.String propertyName) throws PropertiesManagerException- Throws:
PropertiesManagerException
-
setObject
public void setObject(java.lang.Object newObject)
Object of which the properties are handled.
-
hasGetter
public boolean hasGetter(java.lang.String propertyName) throws PropertiesManagerExceptionIf the property has getter.- Throws:
PropertiesManagerException
-
hasSetter
public boolean hasSetter(java.lang.String propertyName) throws PropertiesManagerExceptionIf the property has setter.- Throws:
PropertiesManagerException
-
-