org.joda.beans
Interface DynamicBean

All Superinterfaces:
Bean
All Known Implementing Classes:
FlexiBean, MapBean

public interface DynamicBean
extends Bean

A dynamic bean that allows properties to be added and removed.

A JavaBean is defined at compile-time and cannot have additional properties added. Instances of this interface allow additional properties to be added and removed probably by wrapping a map


Method Summary
 DynamicMetaBean metaBean()
          Gets the meta-bean representing the parts of the bean that are common across all instances, such as the set of meta-properties.
<R> Property<R>
property(String propertyName)
          Gets a property by name.
 void propertyDefine(String propertyName, Class<?> propertyType)
          Adds a property to those allowed to be stored in the bean.
 void propertyRemove(String propertyName)
          Removes a property by name.
 
Methods inherited from interface org.joda.beans.Bean
clone, propertyNames
 

Method Detail

metaBean

DynamicMetaBean metaBean()
Gets the meta-bean representing the parts of the bean that are common across all instances, such as the set of meta-properties.

Specified by:
metaBean in interface Bean
Returns:
the meta-bean, not null

property

<R> Property<R> property(String propertyName)
Gets a property by name.

This will not throw an exception if the property name does not exist. Whether a property is immediately created or not is implementation dependent.

Specified by:
property in interface Bean
Type Parameters:
R - the property type, optional, enabling auto-casting
Parameters:
propertyName - the property name to retrieve, not null
Returns:
the property, not null

propertyDefine

void propertyDefine(String propertyName,
                    Class<?> propertyType)
Adds a property to those allowed to be stored in the bean.

Some implementations will automatically add properties, in which case this method will have no effect.

Parameters:
propertyName - the property name to check, not empty, not null
propertyType - the property type, not null

propertyRemove

void propertyRemove(String propertyName)
Removes a property by name.

Parameters:
propertyName - the property name to remove, null ignored


Copyright © 2007–2014 Joda.org. All rights reserved.