public class MapBean extends HashMap<String,Object> implements DynamicBean
Bean based on an exposed Map.
Properties are dynamic, and can be added and removed at will from the map.
This class extends HashMap, allowing it to be used wherever a map is.
See FlexiBean for a map-like bean implementation that is more controlled.
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>| Constructor and Description |
|---|
MapBean()
Creates an instance.
|
| Modifier and Type | Method and Description |
|---|---|
MapBean |
clone() |
static DynamicMetaBean |
meta()
Creates a standalone meta-bean.
|
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.
|
Property<Object> |
property(String name)
Gets a property by name.
|
void |
propertyDefine(String propertyName,
Class<?> propertyType)
Adds a property to those allowed to be stored in the bean.
|
Set<String> |
propertyNames()
Gets the set of property names.
|
void |
propertyRemove(String propertyName)
Removes a property by name.
|
String |
toString()
Returns a string that summarises the bean.
|
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, valuesequals, hashCodepublic static DynamicMetaBean meta()
This creates a new instance each time in line with dynamic bean principles.
public DynamicMetaBean metaBean()
DynamicBeanmetaBean in interface BeanmetaBean in interface DynamicBeanpublic Property<Object> property(String name)
DynamicBeanThis will not throw an exception if the property name does not exist. Whether a property is immediately created or not is implementation dependent.
property in interface Beanproperty in interface DynamicBeanname - the property name to retrieve, not nullpublic Set<String> propertyNames()
BeanEach bean consists of a known set of properties. This method returns the known property names.
propertyNames in interface Beanpublic void propertyDefine(String propertyName, Class<?> propertyType)
DynamicBeanSome implementations will automatically add properties, in which case this method will have no effect.
propertyDefine in interface DynamicBeanpropertyName - the property name to check, not empty, not nullpropertyType - the property type, not nullpublic void propertyRemove(String propertyName)
DynamicBeanpropertyRemove in interface DynamicBeanpropertyName - the property name to remove, null ignoredpublic String toString()
The string contains the class name and properties.
toString in class AbstractMap<String,Object>Copyright © 2007–2017 Joda.org. All rights reserved.