org.apache.log4j.config
public class PropertySetter extends Object
setProperty(name,value)
in order to invoke setters
on the Object specified in the constructor. This class relies on the
JavaBeans Introspector to analyze the given Object Class using
reflection.
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.
Since: 1.1
Field Summary | |
---|---|
protected Object | obj |
protected PropertyDescriptor[] | props |
Constructor Summary | |
---|---|
PropertySetter(Object obj)
Create a new PropertySetter for the specified Object. |
Method Summary | |
---|---|
void | activate() |
protected Object | convertArg(String val, Class type)
Convert val a String parameter to an object of a
given type. |
protected PropertyDescriptor | getPropertyDescriptor(String name) |
protected void | introspect()
Uses JavaBeans Introspector to computer setters of object to be
configured. |
static void | setProperties(Object obj, Properties properties, String prefix)
Set the properties of an object passed as a parameter in one
go. |
void | setProperties(Properties properties, String prefix)
Set the properites for the object that match the
prefix passed as parameter. |
void | setProperty(String name, String value)
Set a property on this PropertySetter's Object. |
void | setProperty(PropertyDescriptor prop, String name, String value)
Set the named property given a PropertyDescriptor. |
Parameters: obj the object for which to set properties
val
a String parameter to an object of a
given type.properties
are parsed relative to a
prefix
.Parameters: obj The object to configure. properties A java.util.Properties containing keys and values. prefix Only keys having the specified prefix will be set.
prefix
passed as parameter.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).
Parameters: name name of the property value String value of the property
Parameters: 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.