public final class FlexiBean extends BasicBean implements DynamicBean, Serializable
Bean
.
Properties are dynamic, and can be added and removed at will from the map. The internal storage is created lazily to allow a flexi-bean to be used as a lightweight extension to another bean.
Constructor and Description |
---|
FlexiBean()
Constructor.
|
FlexiBean(FlexiBean copyFrom)
Constructor that copies all the data entries from the specified bean.
|
Modifier and Type | Method and Description |
---|---|
FlexiBean |
append(String propertyName,
Object newValue)
Adds or updates a property returning
this for chaining. |
void |
clear()
Removes all properties.
|
boolean |
contains(String propertyName)
Checks if the bean contains a specific property.
|
boolean |
equals(Object obj)
Compares this bean to another based on the property names and content.
|
Object |
get(String propertyName)
Gets the value of the property.
|
<T> T |
get(String propertyName,
Class<T> type)
Gets the value of the property cast to a specific type.
|
boolean |
getBoolean(String propertyName)
Gets the value of the property as a
boolean . |
double |
getDouble(String propertyName)
Gets the value of the property as a
double . |
double |
getDouble(String propertyName,
double defaultValue)
Gets the value of the property as a
double using a default value. |
int |
getInt(String propertyName)
Gets the value of the property as a
int . |
int |
getInt(String propertyName,
int defaultValue)
Gets the value of the property as a
int using a default value. |
long |
getLong(String propertyName)
Gets the value of the property as a
long . |
long |
getLong(String propertyName,
long defaultValue)
Gets the value of the property as a
long using a default value. |
String |
getString(String propertyName)
Gets the value of the property as a
String . |
int |
hashCode()
Returns a suitable hash code.
|
MetaBean |
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.
|
boolean |
propertyExists(String propertyName)
Checks if the property exists.
|
Object |
propertyGet(String propertyName)
Gets the value of the property.
|
Set<String> |
propertyNames()
Gets the set of property names.
|
void |
propertyRemove(String propertyName)
Removes a property by name.
|
void |
propertySet(String propertyName,
Object newValue)
Sets the value of the property.
|
Object |
put(String propertyName,
Object newValue)
Puts the property into this bean.
|
void |
putAll(FlexiBean other)
Puts the properties in the specified bean into this bean.
|
void |
putAll(Map<String,Object> map)
Puts the properties in the specified map into this bean.
|
void |
remove(String propertyName)
Removes a property.
|
void |
set(String propertyName,
Object newValue)
Adds or updates a property.
|
int |
size()
Gets the number of properties.
|
Map<String,Object> |
toMap()
Returns a map representing the contents of the bean.
|
String |
toString()
Returns a string that summarises the bean.
|
public FlexiBean()
public int size()
public boolean contains(String propertyName)
propertyName
- the property name, null returns falsepublic Object get(String propertyName)
propertyName
- the property name, not emptypublic <T> T get(String propertyName, Class<T> type)
T
- the value typepropertyName
- the property name, not emptytype
- the type to cast to, not nullpublic String getString(String propertyName)
String
.
This will use Object.toString()
.propertyName
- the property name, not emptypublic boolean getBoolean(String propertyName)
boolean
.propertyName
- the property name, not emptyClassCastException
- if the value is not compatiblepublic int getInt(String propertyName)
int
.propertyName
- the property name, not emptyClassCastException
- if the value is not compatiblepublic int getInt(String propertyName, int defaultValue)
int
using a default value.propertyName
- the property name, not emptydefaultValue
- the default value for nullClassCastException
- if the value is not compatiblepublic long getLong(String propertyName)
long
.propertyName
- the property name, not emptyClassCastException
- if the value is not compatiblepublic long getLong(String propertyName, long defaultValue)
long
using a default value.propertyName
- the property name, not emptydefaultValue
- the default value for nullClassCastException
- if the value is not compatiblepublic double getDouble(String propertyName)
double
.propertyName
- the property name, not emptyClassCastException
- if the value is not compatiblepublic double getDouble(String propertyName, double defaultValue)
double
using a default value.propertyName
- the property name, not emptydefaultValue
- the default value for nullClassCastException
- if the value is not compatiblepublic FlexiBean append(String propertyName, Object newValue)
this
for chaining.propertyName
- the property name, not emptynewValue
- the new value, may be nullthis
for chaining, not nullpublic void set(String propertyName, Object newValue)
propertyName
- the property name, not emptynewValue
- the new value, may be nullpublic Object put(String propertyName, Object newValue)
propertyName
- the property name, not emptynewValue
- the new value, may be nullpublic void putAll(Map<String,Object> map)
map
- the map of properties to add, not nullpublic void putAll(FlexiBean other)
other
- the map of properties to add, not nullpublic void remove(String propertyName)
propertyName
- the property name, not emptypublic void clear()
public boolean propertyExists(String propertyName)
propertyName
- the property name, not emptypublic Object propertyGet(String propertyName)
propertyName
- the property name, not emptypublic void propertySet(String propertyName, Object newValue)
propertyName
- the property name, not emptynewValue
- the new value of the property, may be nullpublic MetaBean metaBean()
Bean
public Property<Object> property(String name)
Bean
public Set<String> propertyNames()
Bean
propertyNames
in interface Bean
propertyNames
in class BasicBean
public void propertyDefine(String propertyName, Class<?> propertyType)
DynamicBean
Some implementations will automatically add properties, in which case this method will have no effect.
propertyDefine
in interface DynamicBean
propertyName
- the property name to check, not empty, not nullpropertyType
- the property type, not nullpublic void propertyRemove(String propertyName)
DynamicBean
propertyRemove
in interface DynamicBean
propertyName
- the property name to remove, null ignoredpublic Map<String,Object> toMap()
public boolean equals(Object obj)
public int hashCode()
Copyright © 2007–2013 Joda.org. All rights reserved.