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.Serializable
Manages with reflection the properties of a object.Excludes automatically the property
class
ofObject
and 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.Object
executeGet(java.lang.String propertyName)
Gets the value of the indicated property.java.util.Map
executeGets(java.lang.String properties)
Gets a group of property values in a map.void
executeSet(java.lang.String propertyName, java.lang.Object value)
Update property.void
executeSetFromString(java.lang.String propertyName, java.lang.Object value)
Update property from a string, making needed conversions.void
executeSets(java.util.Map properties)
Sets property values from a map.void
executeSetsFromStrings(java.util.Map properties)
Sets property values from a map, trying to convert strings to value of valid type for properties.boolean
exists(java.lang.String propertyName)
If the property exists.java.lang.Object
getObject()
Object of which the properties are handled.java.lang.String[]
getPropertiesNames()
Names of all properties managed bythis
.java.beans.PropertyDescriptor
getPropertyDescriptor(java.lang.String propertyName)
java.lang.String[]
getReadablesPropertiesNames()
Names of all properties managed bythis
with getter method.java.lang.String[]
getWritablesPropertiesNames()
Names of all properties managed bythis
with setter method.boolean
hasGetter(java.lang.String propertyName)
If the property has getter.boolean
hasSetter(java.lang.String propertyName)
If the property has setter.void
setObject(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, PropertiesManagerException
Gets 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, PropertiesManagerException
Gets 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, PropertiesManagerException
Update 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, PropertiesManagerException
Update 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, PropertiesManagerException
Sets 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, PropertiesManagerException
Sets 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 PropertiesManagerException
If the property exists.- Throws:
PropertiesManagerException
-
getPropertiesNames
public java.lang.String[] getPropertiesNames() throws PropertiesManagerException
Names of all properties managed bythis
.- Returns:
- Not null
- Throws:
PropertiesManagerException
-
getWritablesPropertiesNames
public java.lang.String[] getWritablesPropertiesNames() throws PropertiesManagerException
Names of all properties managed bythis
with setter method.- Returns:
- Not null
- Throws:
PropertiesManagerException
-
getReadablesPropertiesNames
public java.lang.String[] getReadablesPropertiesNames() throws PropertiesManagerException
Names of all properties managed bythis
with 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 PropertiesManagerException
If the property has getter.- Throws:
PropertiesManagerException
-
hasSetter
public boolean hasSetter(java.lang.String propertyName) throws PropertiesManagerException
If the property has setter.- Throws:
PropertiesManagerException
-
-