public abstract class BeanMap extends Object implements Map
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).Modifier and Type | Class and Description |
---|---|
static class |
BeanMap.Generator |
Modifier and Type | Field and Description |
---|---|
protected Object |
bean |
static int |
REQUIRE_GETTER
Limit the properties reflected in the key set of the map
to readable properties.
|
static int |
REQUIRE_SETTER
Limit the properties reflected in the key set of the map
to writable properties.
|
Modifier | Constructor and Description |
---|---|
protected |
BeanMap() |
protected |
BeanMap(Object bean) |
Modifier and Type | Method and Description |
---|---|
void |
clear() |
boolean |
containsKey(Object key) |
boolean |
containsValue(Object value) |
static BeanMap |
create(Object bean)
Helper method to create a new
BeanMap . |
Set |
entrySet() |
boolean |
equals(Object o) |
Object |
get(Object key) |
abstract Object |
get(Object bean,
Object key)
Get the property of a bean.
|
Object |
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 new
BeanMap instance using the specified bean. |
Object |
put(Object key,
Object value) |
abstract Object |
put(Object bean,
Object key,
Object value)
Set the property of a bean.
|
void |
putAll(Map t) |
Object |
remove(Object key) |
void |
setBean(Object bean)
Change the underlying bean this map should use.
|
int |
size() |
String |
toString() |
Collection |
values() |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, keySet, merge, putIfAbsent, remove, replace, replace, replaceAll
public static final int REQUIRE_GETTER
public static final int REQUIRE_SETTER
protected Object bean
protected BeanMap()
protected BeanMap(Object bean)
public static BeanMap create(Object bean)
BeanMap
. For finer
control over the generated instance, use a new instance of
BeanMap.Generator
instead of this static method.bean
- the JavaBean underlying the mapBeanMap
instancepublic abstract BeanMap newInstance(Object bean)
BeanMap
instance using the specified bean.
This is faster than using the create(java.lang.Object)
static method.bean
- the JavaBean underlying the mapBeanMap
instancepublic abstract Class getPropertyType(String name)
name
- the name of the JavaBean propertypublic abstract Object get(Object bean, Object key)
BeanMap
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.bean
- the bean to query; must be compatible with the type of
this BeanMap
key
- must be a Stringpublic abstract Object put(Object bean, Object key, Object value)
BeanMap
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.key
- must be a Stringpublic void setBean(Object bean)
bean
- the new JavaBeangetBean()
public Object getBean()
setBean(java.lang.Object)
public boolean containsKey(Object key)
containsKey
in interface Map
public boolean containsValue(Object value)
containsValue
in interface Map
public boolean equals(Object o)
public int hashCode()
public Collection values()