public interface

MutableDynaClass

implements DynaClass
org.apache.commons.beanutils.MutableDynaClass
Known Indirect Subclasses

Class Overview

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.

Summary

Public Methods
abstract void add(String name, Class type, boolean readable, boolean writeable)
Add a new dynamic property with the specified data type, readability, and writeability.
abstract void add(String name, Class type)
Add a new dynamic property with the specified data type, but with no restrictions on readability or writeability.
abstract void add(String name)
Add a new dynamic property with no restrictions on data type, readability, or writeability.
abstract 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.
abstract void remove(String name)
Remove the specified dynamic property, and any associated data type, readability, and writeability, from this dynamic class.
abstract void setRestricted(boolean restricted)
Set the restricted state of this DynaClass to the specified value.
[Expand]
Inherited Methods
From interface org.apache.commons.beanutils.DynaClass

Public Methods

public abstract void add (String name, Class type, boolean readable, boolean writeable)

Add a new dynamic property with the specified data type, readability, and writeability.

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

public abstract void add (String name, Class type)

Add a new dynamic property with the specified data type, but with no restrictions on readability or writeability.

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

public abstract void add (String name)

Add a new dynamic property with no restrictions on data type, readability, or writeability.

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

public abstract 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.

Returns
  • true if this Mutable DynaClass is restricted, otherwise false

public abstract void remove (String name)

Remove the specified dynamic property, and any associated data type, readability, and writeability, from this dynamic class. NOTE - This does NOT cause any corresponding property values to be removed from DynaBean instances associated with this DynaClass.

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

public abstract void setRestricted (boolean restricted)

Set the restricted state of this DynaClass to the specified value.

Parameters
restricted The new restricted state