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.Modifier and Type | Field and Description |
---|---|
protected Object |
obj |
protected PropertyDescriptor[] |
props |
Constructor and Description |
---|
PropertySetter(Object obj)
Create a new PropertySetter for the specified Object.
|
Modifier and Type | Method and Description |
---|---|
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.
|
protected PropertyDescriptor[] props
public PropertySetter(Object obj)
setProperty(java.lang.String, java.lang.String)
one or more times.obj
- the object for which to set propertiespublic static void setProperties(Object obj, Properties properties, String prefix)
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.protected void introspect()
Introspector
to computer setters of object to be
configured.public void setProperties(Properties properties, String prefix)
prefix
passed as parameter.properties
- The properties.prefix
- The prefix of the properties to use.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
- if no setter is available.protected Object convertArg(String val, Class<?> type)
val
a String parameter to an object of a
given type.val
- The value to convert.type
- The type of the value to convert to.protected PropertyDescriptor getPropertyDescriptor(String name)
public void activate()
Copyright © 1999-1969 The Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.