org.apache.log4j.config
Class PropertySetter
public class PropertySetter
General purpose Object property setter. Clients repeatedly invokes
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.
protected Object | obj
|
protected PropertyDescriptor[] | props
|
PropertySetter(Object obj) - Create a new PropertySetter for the specified Object.
|
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(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.
|
props
protected PropertyDescriptor[] props
PropertySetter
public PropertySetter(Object obj)
Create a new PropertySetter for the specified Object. This is done
in prepartion for invoking setProperty
one or more times.
obj
- the object for which to set properties
activate
public void activate()
convertArg
protected Object convertArg(String val,
Class type)
Convert val
a String parameter to an object of a
given type.
getPropertyDescriptor
protected PropertyDescriptor getPropertyDescriptor(String name)
introspect
protected void introspect()
Uses JavaBeans Introspector
to computer setters of object to be
configured.
setProperties
public static void setProperties(Object obj,
Properties properties,
String prefix)
Set the properties of an object passed as a parameter in one
go. The properties
are parsed relative to a
prefix
.
obj
- The object to configure.properties
- A java.util.Properties containing keys and values.prefix
- Only keys having the specified prefix will be set.
setProperties
public void setProperties(Properties properties,
String prefix)
Set the properites for the object that match the
prefix
passed as parameter.
setProperty
public void setProperty(PropertyDescriptor prop,
String name,
String value)
throws PropertySetterException
Set the named property given a 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.
setProperty
public void setProperty(String name,
String value)
Set a property on this PropertySetter's Object. If successful, this
method will invoke a setter method on the underlying Object. The
setter is the one for the specified property name and the value is
determined partly from the setter argument type and partly from the
value specified in the call to this method.
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 property
Copyright 2000-2005 Apache Software Foundation.