org.apache.commons.beanutils
public interface MutableDynaClass extends DynaClass
A specialized extension to DynaClass
that allows properties
to be added or removed dynamically.
WARNING - No guarantees that this will be in the final APIs ... it's here primarily to preserve some concepts that were in the original proposal for further discussion.
Version: $Revision: 1.8 $ $Date: 2004/02/28 13:18:33 $
Method Summary | |
---|---|
void | add(String name)
Add a new dynamic property with no restrictions on data type,
readability, or writeability.
|
void | add(String name, Class type)
Add a new dynamic property with the specified data type, but with
no restrictions on readability or writeability.
|
void | add(String name, Class type, boolean readable, boolean writeable)
Add a new dynamic property with the specified data type, readability,
and writeability.
|
boolean | isRestricted()
Is this DynaClass currently restricted, if so, no changes to the
existing registration of property names, data types, readability, or
writeability are allowed. |
void | remove(String name)
Remove the specified dynamic property, and any associated data type,
readability, and writeability, from this dynamic class.
|
void | setRestricted(boolean restricted)
Set the restricted state of this DynaClass to the specified value.
|
Parameters: name Name of the new dynamic property
Throws: IllegalArgumentException if name is null IllegalStateException if this DynaClass is currently restricted, so no new properties can be added
Parameters: name Name of the new dynamic property type Data type of the new dynamic property (null for no restrictions)
Throws: IllegalArgumentException if name is null IllegalStateException if this DynaClass is currently restricted, so no new properties can be added
Parameters: name Name of the new dynamic property type Data type of the new dynamic property (null for no
restrictions) readable Set to true
if this property value
should be readable writeable Set to true
if this property value
should be writeable
Throws: IllegalArgumentException if name is null IllegalStateException if this DynaClass is currently restricted, so no new properties can be added
Parameters: name Name of the dynamic property to remove
Throws: IllegalArgumentException if name is null IllegalStateException if this DynaClass is currently restricted, so no properties can be removed
Parameters: restricted The new restricted state