Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.beanutils
Class BasicDynaBean

    java.lang.Object
      org.apache.commons.beanutils.BasicDynaBean

All Implemented Interfaces:
  Serializable, DynaBean

    public class BasicDynaBean

extends Object
implements DynaBean, Serializable

Minimal implementation of the `DynaBean` interface. Can be used as a convenience base class for more sophisticated implementations.

IMPLEMENTATION NOTE - Instances of this class that are accessed from multiple threads simultaneously need to be synchronized.

IMPLEMENTATION NOTE - Instances of this class can be successfully serialized and deserialized ONLY if all property values are `Serializable`.

Version:
  $Revision: 690380 $ $Date: 2008-08-29 21:04:38 +0100 (Fri, 29 Aug 2008) $
Author:
  Craig McClanahan
See Also:
  Serialized Form

Field Summary
`protected DynaClass` | `dynaClass` The `DynaClass` "base class" that this DynaBean is associated with.
`protected HashMap` | `values` The set of property values for this DynaBean, keyed by property name.

Constructor Summary
`BasicDynaBean(DynaClass dynaClass)` Construct a new `DynaBean` associated with the specified `DynaClass` instance.

Method Summary
`boolean` | `contains(String name, String key)` Does the specified mapped property contain a value for the specified key value?
`Object` | `get(String name)` Return the value of a simple property with the specified name.
`Object` | `get(String name, int index)` Return the value of an indexed property with the specified name.
`Object` | `get(String name, String key)` Return the value of a mapped property with the specified name, or `null` if there is no value for the specified key.
`DynaClass` | `getDynaClass()` Return the `DynaClass` instance that describes the set of properties available for this DynaBean.
`protected DynaProperty` | `getDynaProperty(String name)` Return the property descriptor for the specified property name.
`Map` | `getMap()` Return a Map representation of this DynaBean.
`protected boolean` | `isAssignable(Class dest, Class source)` Is an object of the source class assignable to the destination class?
`void` | `remove(String name, String key)` Remove any existing value for the specified key on the specified mapped property.
`void` | `set(String name, int index, Object value)` Set the value of an indexed property with the specified name.
`void` | `set(String name, Object value)` Set the value of a simple property with the specified name.
`void` | `set(String name, String key, Object value)` Set the value of a mapped property with the specified name.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### dynaClass

    protected DynaClass dynaClass

  The `DynaClass` "base class" that this DynaBean is associated with.

### values

    protected HashMap values

  The set of property values for this DynaBean, keyed by property name.

Constructor Detail

### BasicDynaBean

    public BasicDynaBean(DynaClass dynaClass)

  Construct a new `DynaBean` associated with the specified `DynaClass` instance.

  Parameters:
    `dynaClass` - The DynaClass we are associated with

Method Detail

### getMap

    public Map getMap()

  Return a Map representation of this DynaBean. This, for example, could be used in JSTL in the following way to access a DynaBean's `fooProperty`:
  - `${myDynaBean.map.fooProperty}`

  Returns:
    a Map representation of this DynaBean
  Since:
    1.8.0

### contains

    public boolean contains(String name,
                            String key)

  Does the specified mapped property contain a value for the specified key value?

  Specified by:
    `contains` in interface `DynaBean`
  Parameters:
    `name` - Name of the property to check
    `key` - Name of the key to check
  Returns:
    `true`if the mapped property contains a value for the specified key, otherwise `false```
  Throws:
    `IllegalArgumentException` - if there is no property of the specified name

### get

    public Object get(String name)

  Return the value of a simple property with the specified name.

  Specified by:
    `get` in interface `DynaBean`
  Parameters:
    `name` - Name of the property whose value is to be retrieved
  Returns:
    The property's value
  Throws:
    `IllegalArgumentException` - if there is no property of the specified name

### get

    public Object get(String name,
                      int index)

  Return the value of an indexed property with the specified name.

  Specified by:
    `get` in interface `DynaBean`
  Parameters:
    `name` - Name of the property whose value is to be retrieved
    `index` - Index of the value to be retrieved
  Returns:
    The indexed property's value
  Throws:
    `IllegalArgumentException` - if there is no property of the specified name
    `IllegalArgumentException` - if the specified property exists, but is not indexed
    `IndexOutOfBoundsException` - if the specified index is outside the range of the underlying property
    `NullPointerException` - if no array or List has been initialized for this property

### get

    public Object get(String name,
                      String key)

  Return the value of a mapped property with the specified name, or `null` if there is no value for the specified key.

  Specified by:
    `get` in interface `DynaBean`
  Parameters:
    `name` - Name of the property whose value is to be retrieved
    `key` - Key of the value to be retrieved
  Returns:
    The mapped property's value
  Throws:
    `IllegalArgumentException` - if there is no property of the specified name
    `IllegalArgumentException` - if the specified property exists, but is not mapped

### getDynaClass

    public DynaClass getDynaClass()

  Return the `DynaClass` instance that describes the set of properties available for this DynaBean.

  Specified by:
    `getDynaClass` in interface `DynaBean`
  Returns:
    The associated DynaClass

### remove

    public void remove(String name,
                       String key)

  Remove any existing value for the specified key on the specified mapped property.

  Specified by:
    `remove` in interface `DynaBean`
  Parameters:
    `name` - Name of the property for which a value is to be removed
    `key` - Key of the value to be removed
  Throws:
    `IllegalArgumentException` - if there is no property of the specified name

### set

    public void set(String name,
                    Object value)

  Set the value of a simple property with the specified name.

  Specified by:
    `set` in interface `DynaBean`
  Parameters:
    `name` - Name of the property whose value is to be set
    `value` - Value to which this property is to be set
  Throws:
    `ConversionException` - if the specified value cannot be converted to the type required for this property
    `IllegalArgumentException` - if there is no property of the specified name
    `NullPointerException` - if an attempt is made to set a primitive property to null

### set

    public void set(String name,
                    int index,
                    Object value)

  Set the value of an indexed property with the specified name.

  Specified by:
    `set` in interface `DynaBean`
  Parameters:
    `name` - Name of the property whose value is to be set
    `index` - Index of the property to be set
    `value` - Value to which this property is to be set
  Throws:
    `ConversionException` - if the specified value cannot be converted to the type required for this property
    `IllegalArgumentException` - if there is no property of the specified name
    `IllegalArgumentException` - if the specified property exists, but is not indexed
    `IndexOutOfBoundsException` - if the specified index is outside the range of the underlying property

### set

    public void set(String name,
                    String key,
                    Object value)

  Set the value of a mapped property with the specified name.

  Specified by:
    `set` in interface `DynaBean`
  Parameters:
    `name` - Name of the property whose value is to be set
    `key` - Key of the property to be set
    `value` - Value to which this property is to be set
  Throws:
    `ConversionException` - if the specified value cannot be converted to the type required for this property
    `IllegalArgumentException` - if there is no property of the specified name
    `IllegalArgumentException` - if the specified property exists, but is not mapped

### getDynaProperty

    protected DynaProperty getDynaProperty(String name)

  Return the property descriptor for the specified property name.

  Parameters:
    `name` - Name of the property for which to retrieve the descriptor
  Returns:
    The property descriptor
  Throws:
    `IllegalArgumentException` - if this is not a valid property name for our DynaClass

### isAssignable

    protected boolean isAssignable(Class dest,
                                   Class source)

  Is an object of the source class assignable to the destination class?

  Parameters:
    `dest` - Destination class
    `source` - Source class
  Returns:
    `true` if the source class is assignable to the destination class, otherwise `false`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2009 The Apache Software Foundation. All Rights Reserved.