public final class JodaBeanUtils extends Object
Modifier and Type | Method and Description |
---|---|
static <T extends Bean> |
clone(T original) |
static Class<?> |
collectionType(MetaProperty<?> prop,
Class<?> targetClass)
Extracts the collection content type as a
Class from a meta-property. |
static Class<?> |
collectionType(Property<?> prop)
Extracts the collection content type as a
Class from a property. |
static Comparator<Bean> |
comparator(BeanQuery<?> query,
boolean ascending)
Obtains a comparator for the specified bean query.
|
static Comparator<Bean> |
comparatorAscending(BeanQuery<?> query)
Obtains an ascending comparator for the specified bean query.
|
static Comparator<Bean> |
comparatorDescending(BeanQuery<?> query)
Obtains an descending comparator for the specified bean query.
|
static boolean |
equal(Object obj1,
Object obj2)
Checks if two objects are equal handling null.
|
static int |
hashCode(double value)
Returns a hash code for a
double . |
static int |
hashCode(float value)
Returns a hash code for a
float . |
static int |
hashCode(long value)
Returns a hash code for a
long . |
static int |
hashCode(Object obj)
Returns a hash code for an object handling null.
|
static Class<?> |
mapKeyType(MetaProperty<?> prop,
Class<?> targetClass)
Extracts the map key type as a
Class from a meta-property. |
static Class<?> |
mapKeyType(Property<?> prop)
Extracts the map key type as a
Class from a meta-property. |
static Class<?> |
mapValueType(MetaProperty<?> prop,
Class<?> targetClass)
Extracts the map key type as a
Class from a meta-property. |
static Class<?> |
mapValueType(Property<?> prop)
Extracts the map key type as a
Class from a meta-property. |
static MetaBean |
metaBean(Class<?> cls)
Gets the meta-bean given a class.
|
static void |
notEmpty(String value,
String propertyName)
Checks if the value is not empty, throwing an exception if it is.
|
static void |
notNull(Object value,
String propertyName)
Checks if the value is not null, throwing an exception if it is.
|
static boolean |
propertiesEqual(Bean bean1,
Bean bean2)
Checks if the two beans have the same set of properties.
|
static int |
propertiesHashCode(Bean bean)
Returns a hash code based on the set of properties on a bean.
|
static String |
propertiesToString(Bean bean,
String prefix)
Returns a string describing the set of properties on a bean.
|
static void |
registerMetaBean(MetaBean metaBean)
Registers a meta-bean.
|
static org.joda.convert.StringConvert |
stringConverter()
Gets the standard string format converter.
|
public static MetaBean metaBean(Class<?> cls)
This only works for those beans that have registered their meta-beans.
See registerMetaBean(MetaBean)
.
cls
- the class to get the meta-bean for, not nullIllegalArgumentException
- if unable to obtain the meta-beanpublic static void registerMetaBean(MetaBean metaBean)
This should be done for all beans in a static factory where possible. If the meta-bean is dynamic, this method should not be called.
metaBean
- the meta-bean, not nullIllegalArgumentException
- if unable to registerpublic static org.joda.convert.StringConvert stringConverter()
This returns a singleton that may be mutated (holds a concurrent map). New conversions should be registered at program startup.
public static boolean equal(Object obj1, Object obj2)
obj1
- the first object, may be nullobj2
- the second object, may be nullpublic static int hashCode(Object obj)
obj
- the object, may be nullpublic static int hashCode(long value)
long
.value
- the value to convert to a hash codepublic static int hashCode(float value)
float
.value
- the value to convert to a hash codepublic static int hashCode(double value)
double
.value
- the value to convert to a hash codepublic static boolean propertiesEqual(Bean bean1, Bean bean2)
This comparison checks that both beans have the same set of property names
and that the value of each property name is also equal.
It does not check the bean type, thus a FlexiBean
may be equal
to a DirectBean
.
This comparison is usable with the propertiesHashCode(org.joda.beans.Bean)
method.
The result is the same as that if each bean was converted to a Map
from name to value.
bean1
- the first bean to compare, not nullbean2
- the second bean to compare, not nullpublic static int propertiesHashCode(Bean bean)
This hash code is usable with the propertiesEqual(org.joda.beans.Bean, org.joda.beans.Bean)
method.
The result is the same as that if each bean was converted to a Map
from name to value.
bean
- the bean to generate a hash code for, not nullpublic static String propertiesToString(Bean bean, String prefix)
The result is the same as that if the bean was converted to a Map
from name to value.
bean
- the bean to generate a string for, not nullprefix
- the prefix to use, null ignoredpublic static void notNull(Object value, String propertyName)
value
- the value to check, may be nullpropertyName
- the property name, should not be nullIllegalArgumentException
- if the value is nullpublic static void notEmpty(String value, String propertyName)
value
- the value to check, may be nullpropertyName
- the property name, should not be nullIllegalArgumentException
- if the value is null or emptypublic static Class<?> collectionType(Property<?> prop)
Class
from a property.
This method allows the resolution of generics in certain cases.
prop
- the property to examine, not nullIllegalArgumentException
- if the property is not a collectionpublic static Class<?> collectionType(MetaProperty<?> prop, Class<?> targetClass)
Class
from a meta-property.
The target type is the type of the object, not the declaring type of the meta-property.
prop
- the property to examine, not nulltargetClass
- the target type to evaluate against, not nullIllegalArgumentException
- if the property is not a collectionpublic static Class<?> mapKeyType(Property<?> prop)
Class
from a meta-property.prop
- the property to examine, not nullIllegalArgumentException
- if the property is not a mappublic static Class<?> mapKeyType(MetaProperty<?> prop, Class<?> targetClass)
Class
from a meta-property.
The target type is the type of the object, not the declaring type of the meta-property.
prop
- the property to examine, not nulltargetClass
- the target type to evaluate against, not nullIllegalArgumentException
- if the property is not a mappublic static Class<?> mapValueType(Property<?> prop)
Class
from a meta-property.prop
- the property to examine, not nullIllegalArgumentException
- if the property is not a mappublic static Class<?> mapValueType(MetaProperty<?> prop, Class<?> targetClass)
Class
from a meta-property.
The target type is the type of the object, not the declaring type of the meta-property.
prop
- the property to examine, not nulltargetClass
- the target type to evaluate against, not nullIllegalArgumentException
- if the property is not a mappublic static Comparator<Bean> comparator(BeanQuery<?> query, boolean ascending)
The result of the query must be Comparable
.
query
- the query to use, not nullascending
- true for ascending, false for descendingpublic static Comparator<Bean> comparatorAscending(BeanQuery<?> query)
The result of the query must be Comparable
.
query
- the query to use, not nullpublic static Comparator<Bean> comparatorDescending(BeanQuery<?> query)
The result of the query must be Comparable
.
query
- the query to use, not nullCopyright © 2007–2013 Joda.org. All rights reserved.