Package org.springframework.cglib.beans
Class BeanMap
java.lang.Object
org.springframework.cglib.beans.BeanMap
- All Implemented Interfaces:
Map
A
Map
-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 as null
. Removal of objects is not a
supported (the key set is fixed).- Author:
- Chris Nokleberg
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprotected Object
static final int
Limit the properties reflected in the key set of the map to readable properties.static final int
Limit the properties reflected in the key set of the map to writable properties. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
boolean
containsKey
(Object key) boolean
containsValue
(Object value) static BeanMap
Helper method to create a newBeanMap
.entrySet()
boolean
abstract Object
Get the property of a bean.getBean()
Return the bean currently in use by this map.abstract Class
getPropertyType
(String name) Get the type of a property.int
hashCode()
boolean
isEmpty()
abstract BeanMap
newInstance
(Object bean) Create a newBeanMap
instance using the specified bean.abstract Object
Set the property of a bean.void
void
Change the underlying bean this map should use.int
size()
toString()
values()
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 Details
-
REQUIRE_GETTER
public static final int REQUIRE_GETTERLimit the properties reflected in the key set of the map to readable properties. -
REQUIRE_SETTER
public static final int REQUIRE_SETTERLimit the properties reflected in the key set of the map to writable properties. -
bean
-
-
Constructor Details
-
BeanMap
protected BeanMap() -
BeanMap
-
-
Method Details
-
create
Helper method to create a newBeanMap
. For finer control over the generated instance, use a new instance ofBeanMap.Generator
instead of this static method.- Parameters:
bean
- the JavaBean underlying the map- Returns:
- a new
BeanMap
instance
-
newInstance
Create a newBeanMap
instance 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
BeanMap
instance
-
getPropertyType
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
-
put
-
get
Get the property of a bean. This allows aBeanMap
to 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 thisBeanMap
key
- must be a String- Returns:
- the current value, or null if there is no matching property
-
put
Set the property of a bean. This allows aBeanMap
to 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
Change the underlying bean this map should use.- Parameters:
bean
- the new JavaBean- See Also:
-
getBean
Return the bean currently in use by this map.- Returns:
- the current JavaBean
- See Also:
-
clear
public void clear() -
containsKey
- Specified by:
containsKey
in interfaceMap
-
containsValue
- Specified by:
containsValue
in interfaceMap
-
size
public int size() -
isEmpty
public boolean isEmpty() -
remove
-
putAll
-
equals
-
hashCode
public int hashCode() -
entrySet
-
values
-
toString
-