Package net.sf.cglib.beans
Class BeanMap
- java.lang.Object
-
- net.sf.cglib.beans.BeanMap
-
- All Implemented Interfaces:
Map
public abstract class BeanMap extends Object implements Map
AMap-based view of a JavaBean. The default set of keys is the union of all property names (getters or setters). An attempt to set a read-only property will be ignored, and write-only properties will be returned asnull. Removal of objects is not a supported (the key set is fixed).- Author:
- Chris Nokleberg
-
-
Field Summary
Fields Modifier and Type Field Description protected Objectbeanstatic intREQUIRE_GETTERLimit the properties reflected in the key set of the map to readable properties.static intREQUIRE_SETTERLimit the properties reflected in the key set of the map to writable properties.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclear()booleancontainsKey(Object key)booleancontainsValue(Object value)static BeanMapcreate(Object bean)Helper method to create a newBeanMap.SetentrySet()booleanequals(Object o)Objectget(Object key)abstract Objectget(Object bean, Object key)Get the property of a bean.ObjectgetBean()Return the bean currently in use by this map.abstract ClassgetPropertyType(String name)Get the type of a property.inthashCode()booleanisEmpty()abstract BeanMapnewInstance(Object bean)Create a newBeanMapinstance using the specified bean.Objectput(Object key, Object value)abstract Objectput(Object bean, Object key, Object value)Set the property of a bean.voidputAll(Map t)Objectremove(Object key)voidsetBean(Object bean)Change the underlying bean this map should use.intsize()StringtoString()Collectionvalues()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, keySet, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Field Detail
-
REQUIRE_GETTER
public static final int REQUIRE_GETTER
Limit the properties reflected in the key set of the map to readable properties.
-
REQUIRE_SETTER
public static final int REQUIRE_SETTER
Limit the properties reflected in the key set of the map to writable properties.
-
bean
protected Object bean
-
-
Constructor Detail
-
BeanMap
protected BeanMap()
-
BeanMap
protected BeanMap(Object bean)
-
-
Method Detail
-
create
public static BeanMap create(Object bean)
Helper method to create a newBeanMap. For finer control over the generated instance, use a new instance ofBeanMap.Generatorinstead of this static method.- Parameters:
bean- the JavaBean underlying the map- Returns:
- a new
BeanMapinstance
-
newInstance
public abstract BeanMap newInstance(Object bean)
Create a newBeanMapinstance using the specified bean. This is faster than using thecreate(java.lang.Object)static method.- Parameters:
bean- the JavaBean underlying the map- Returns:
- a new
BeanMapinstance
-
getPropertyType
public abstract Class getPropertyType(String name)
Get the type of a property.- Parameters:
name- the name of the JavaBean property- Returns:
- the type of the property, or null if the property does not exist
-
get
public abstract Object get(Object bean, Object key)
Get the property of a bean. This allows aBeanMapto be used statically for multiple beans--the bean instance tied to the map is ignored and the bean passed to this method is used instead.- Parameters:
bean- the bean to query; must be compatible with the type of thisBeanMapkey- must be a String- Returns:
- the current value, or null if there is no matching property
-
put
public abstract Object put(Object bean, Object key, Object value)
Set the property of a bean. This allows aBeanMapto be used statically for multiple beans--the bean instance tied to the map is ignored and the bean passed to this method is used instead.- Parameters:
key- must be a String- Returns:
- the old value, if there was one, or null
-
setBean
public void setBean(Object bean)
Change the underlying bean this map should use.- Parameters:
bean- the new JavaBean- See Also:
getBean()
-
getBean
public Object getBean()
Return the bean currently in use by this map.- Returns:
- the current JavaBean
- See Also:
setBean(java.lang.Object)
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKeyin interfaceMap
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValuein interfaceMap
-
equals
public boolean equals(Object o)
-
hashCode
public int hashCode()
-
values
public Collection values()
-
-