Package org.apache.commons.beanutils

# Class DynaBeanMapDecorator

java.lang.Object
org.apache.commons.beanutils.BaseDynaBeanMapDecorator<Object>
org.apache.commons.beanutils.DynaBeanMapDecorator

All Implemented Interfaces:
  `Map<Object,Object>`

@Deprecated public class DynaBeanMapDecorator extends BaseDynaBeanMapDecorator<Object>
Deprecated.
Use `DynaBeanPropertyMapDecorator` instead. When adding generics it turned out that it was not possible to use the correct type parameters without breaking backwards compatibility. Therefore, class `DynaBeanPropertyMapDecorator` was introduced as a replacement.

Decorates a `DynaBean` to provide `Map` behavior.

The motivation for this implementation is to provide access to `DynaBean` properties in technologies that are unaware of BeanUtils and `DynaBean`s - such as the expression languages of JSTL and JSF.

This can be achieved either by wrapping the `DynaBean` prior to providing it to the technolody to process or by providing a `Map` accessor method on the DynaBean implementation:

             public Map getMap() {
                 return new DynaBeanMapDecorator(this);
             }

This, for example, could be used in JSTL in the following way to access a DynaBean's `fooProperty`:

`${myDynaBean.map.fooProperty}` Usage

To decorate a `DynaBean` simply instantiate this class with the target `DynaBean`:

`Map fooMap = new DynaBeanMapDecorator(fooDynaBean);`

The above example creates a read only `Map`. To create a `Map` which can be modified, construct a `DynaBeanMapDecorator` with the read only attribute set to `false`:

`Map fooMap = new DynaBeanMapDecorator(fooDynaBean, false);` Limitations

In this implementation the `entrySet()`, `keySet()` and `values()` methods create an unmodifiable `Set` and it does not support the Map's `clear()` and `remove()` operations.

For reasons of backwards compatibility, the generic types of this `Map` implementation are `<Object, Object>`. However, the keys of the map are typically strings.

Since:
  BeanUtils 1.8.0

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface java.util.Map

  `Map.Entry<K,V>`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DynaBeanMapDecorator(DynaBean dynaBean)`
  Deprecated.
  Constructs a read only Map for the specified `DynaBean`.
  `DynaBeanMapDecorator(DynaBean dynaBean, boolean readOnly)`
  Deprecated.
  Construct a Map for the specified `DynaBean`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected Object`
  `convertKey(String propertyName)`
  Deprecated.
  Converts the name of a property to the key type of this decorator.

  ### Methods inherited from class org.apache.commons.beanutils.BaseDynaBeanMapDecorator

  `clear, containsKey, containsValue, entrySet, get, getDynaBean, isEmpty, isReadOnly, keySet, put, putAll, remove, size, values`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface java.util.Map

  `compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll`

- ## Constructor Details

  - ### DynaBeanMapDecorator

    public DynaBeanMapDecorator(DynaBean dynaBean)
    Deprecated.
    Constructs a read only Map for the specified `DynaBean`.
    Parameters:
      `dynaBean` - The dyna bean being decorated
    Throws:
      `IllegalArgumentException` - if the `DynaBean` is null.

  - ### DynaBeanMapDecorator

    public DynaBeanMapDecorator(DynaBean dynaBean, boolean readOnly)
    Deprecated.
    Construct a Map for the specified `DynaBean`.
    Parameters:
      `dynaBean` - The dyna bean being decorated
      `readOnly` - `true` if the Map is read only otherwise `false`
    Throws:
      `IllegalArgumentException` - if the `DynaBean` is null.

- ## Method Details

  - ### convertKey

    protected Object convertKey(String propertyName)
    Deprecated.
    Description copied from class: `BaseDynaBeanMapDecorator`
    Converts the name of a property to the key type of this decorator.
    Specified by:
      `convertKey` in class `BaseDynaBeanMapDecorator<Object>`
    Parameters:
      `propertyName` - the name of a property
    Returns:
      the converted key to be used in the decorated map