# Class MapAdapter

java.lang.Object
com.codename1.properties.MapAdapter

public abstract class MapAdapter extends java.lang.Object

Instances of this class adapt an arbitrary object type so a property can appear differently when it's placed into a Map or initialized from a Map. This impacts JSON generation too as it relies heavily on the process of transforming elements to/from maps.

To use this class create a new subclass of it and override the appropriate methods.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `MapAdapter(java.lang.Class type)`
  By default subclasses should target a specific type but this can be further narrowed by overriding `#useAdapterFor(com.codename1.properties.PropertyBase)`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `placeInMap(PropertyBase b, Map m)`
  Places the given property into the given map
  `void`
  `setFromMap(PropertyBase b, Map m)`
  Sets the value of the property from the map object
  `boolean`
  `useAdapterFor(PropertyBase b)`
  Returns true if the adapter should be used for this property

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

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

- ## Constructor Details

  - ### MapAdapter

    protected MapAdapter(java.lang.Class type)

    By default subclasses should target a specific type but this can be further narrowed by overriding `#useAdapterFor(com.codename1.properties.PropertyBase)`.

    ###### Parameters

    - `type`: the type to which the map adapter is bound

- ## Method Details

  - ### useAdapterFor

    public boolean useAdapterFor(PropertyBase b)

    Returns true if the adapter should be used for this property

    ###### Parameters

    - `b`: the property

    ###### Returns

    true if this adapter should be used for this property

  - ### placeInMap

    public void placeInMap(PropertyBase b, Map m)

    Places the given property into the given map

    ###### Parameters

    - `b`: the property object

    - `m`: the map instance

  - ### setFromMap

    public void setFromMap(PropertyBase b, Map m)

    Sets the value of the property from the map object

    ###### Parameters

    - `b`: the property object

    - `m`: the map instance