public class PropertySetter extends ContextAwareBase
setProperty(name,value)
in order to invoke setters on
the Object specified in the constructor.
Usage:
PropertySetter ps = new PropertySetter(anObject); ps.set("name", "Joe"); ps.set("age", "32"); ps.set("isMale", "true");will cause the invocations anObject.setName("Joe"), anObject.setAge(32), and setMale(true) if such methods exist with those signatures. Otherwise an
IntrospectionException
are thrown.Modifier and Type | Field and Description |
---|---|
protected MethodDescriptor[] |
methodDescriptors |
protected Object |
obj |
protected Class<?> |
objClass |
protected PropertyDescriptor[] |
propertyDescriptors |
context
Constructor and Description |
---|
PropertySetter(Object obj)
Create a new PropertySetter for the specified Object.
|
Modifier and Type | Method and Description |
---|---|
void |
addBasicProperty(String name,
String strValue) |
void |
addComplexProperty(String name,
Object complexProperty) |
AggregationType |
computeAggregationType(String name) |
Class<?> |
getClassNameViaImplicitRules(String name,
AggregationType aggregationType,
DefaultNestedComponentRegistry registry) |
protected Method |
getMethod(String methodName) |
Object |
getObj() |
Class<?> |
getObjClass() |
protected PropertyDescriptor |
getPropertyDescriptor(String name) |
protected void |
introspect()
Uses JavaBeans
Introspector to computer setters of object to be
configured. |
void |
setComplexProperty(String name,
Object complexProperty) |
void |
setProperty(PropertyDescriptor prop,
String name,
String value)
Set the named property given a
PropertyDescriptor . |
void |
setProperty(String name,
String value)
Set a property on this PropertySetter's Object.
|
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext
protected Object obj
protected Class<?> objClass
protected PropertyDescriptor[] propertyDescriptors
protected MethodDescriptor[] methodDescriptors
public PropertySetter(Object obj)
setProperty(java.lang.String, java.lang.String)
one or more times.obj
- the object for which to set propertiesprotected void introspect()
Introspector
to computer setters of object to be
configured.public void setProperty(String name, String value)
If the setter expects a String no conversion is necessary. If it expects an int, then an attempt is made to convert 'value' to an int using new Integer(value). If the setter expects a boolean, the conversion is by new Boolean(value).
name
- name of the propertyvalue
- String value of the propertypublic void setProperty(PropertyDescriptor prop, String name, String value) throws PropertySetterException
PropertyDescriptor
.prop
- A PropertyDescriptor describing the characteristics of the
property to set.name
- The named of the property to set.value
- The value of the property.PropertySetterException
- No setter for property; setter's argument list is not equal to 1; parameter conversion failurepublic AggregationType computeAggregationType(String name)
public Class<?> getObjClass()
protected PropertyDescriptor getPropertyDescriptor(String name)
public Object getObj()
public Class<?> getClassNameViaImplicitRules(String name, AggregationType aggregationType, DefaultNestedComponentRegistry registry)
Copyright © 2005–2014 QOS.ch. All rights reserved.