本文整理汇总了Java中org.apache.commons.beanutils.DynaClass类的典型用法代码示例。如果您正苦于以下问题:Java DynaClass类的具体用法?Java DynaClass怎么用?Java DynaClass使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
DynaClass类属于org.apache.commons.beanutils包,在下文中一共展示了DynaClass类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: toString
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
public String toString()
{
StringBuilder result = new StringBuilder();
DynaClass type = getDynaClass();
DynaProperty[] props = type.getDynaProperties();
result.append(type.getName());
result.append(": ");
for (int idx = 0; idx < props.length; idx++)
{
if (idx > 0)
{
result.append(", ");
}
result.append(props[idx].getName());
result.append(" = ");
result.append(get(props[idx].getName()));
}
return result.toString();
}
示例2: buildPropertyMap
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
/**
* build a map of business object with its specified property names and corresponding values
*
* @param businessObject the given business object
* @param the specified fields that need to be included in the return map
* @return the map of business object with its property names and values
*/
public static Map<String, Object> buildPropertyMap(Object object, List<String> keyFields) {
DynaClass dynaClass = WrapDynaClass.createDynaClass(object.getClass());
DynaProperty[] properties = dynaClass.getDynaProperties();
Map<String, Object> propertyMap = new LinkedHashMap<String, Object>();
for (DynaProperty property : properties) {
String propertyName = property.getName();
if (PropertyUtils.isReadable(object, propertyName) && keyFields.contains(propertyName)) {
try {
Object propertyValue = PropertyUtils.getProperty(object, propertyName);
if (propertyValue != null && !StringUtils.isEmpty(propertyValue.toString())) {
propertyMap.put(propertyName, propertyValue);
}
}
catch (Exception e) {
LOG.info(e);
}
}
}
return propertyMap;
}
示例3: hasNullValueField
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
/**
* determine if the source object has a field with null as its value
*
* @param sourceObject the source object
*/
public static boolean hasNullValueField(Object sourceObject) {
DynaClass dynaClass = WrapDynaClass.createDynaClass(sourceObject.getClass());
DynaProperty[] properties = dynaClass.getDynaProperties();
for (DynaProperty property : properties) {
String propertyName = property.getName();
if (PropertyUtils.isReadable(sourceObject, propertyName)) {
try {
Object propertyValue = PropertyUtils.getProperty(sourceObject, propertyName);
if (propertyValue == null) {
return true;
}
}
catch (Exception e) {
LOG.info(e);
return false;
}
}
}
return false;
}
示例4: buildPropertyMap
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
/**
* This method builds a map of business object with its property names and values
*
* @param businessObject the given business object
* @return the map of business object with its property names and values
*/
public static LinkedHashMap buildPropertyMap(Object businessObject) {
DynaClass dynaClass = WrapDynaClass.createDynaClass(businessObject.getClass());
DynaProperty[] properties = dynaClass.getDynaProperties();
LinkedHashMap propertyMap = new LinkedHashMap();
try {
for (int numOfProperty = 0; numOfProperty < properties.length; numOfProperty++) {
String propertyName = properties[numOfProperty].getName();
if (PropertyUtils.isWriteable(businessObject, propertyName)) {
Object propertyValue = PropertyUtils.getProperty(businessObject, propertyName);
propertyMap.put(propertyName, propertyValue);
}
}
}
catch (Exception e) {
LOG.error("OJBUtility.buildPropertyMap()" + e);
}
return propertyMap;
}
示例5: testDynaBean
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
public void testDynaBean() throws Exception
{
checkBoundaryConditions(PersistentFieldDynaBeanImpl.class, false);
DynaClass dynaClass = createDynaClass();
DynaBean bean = dynaClass.newInstance();
bean.set("name", "testDynaBean");
PersistentField pf = new PersistentFieldDynaBeanImpl(String.class, "name");
String result = (String) pf.get(bean);
assertNotNull(result);
assertEquals("testDynaBean", result);
pf.set(bean, "XXXX");
result = (String) pf.get(bean);
assertNotNull(result);
assertEquals("XXXX", result);
}
示例6: testAutoProxyWithDyna
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
public void testAutoProxyWithDyna() throws Exception
{
DynaClass dynaClass = createDynaClass();
DynaBean bean = dynaClass.newInstance();
bean.set("name", "testDynaBean");
PersistentField pf = new PersistentFieldAutoProxyImpl(String.class, "name");
String result = (String) pf.get(bean);
assertNotNull(result);
assertEquals("testDynaBean", result);
pf.set(bean, "XXXX");
result = (String) pf.get(bean);
assertNotNull(result);
assertEquals("XXXX", result);
}
示例7: buildPropertyMap
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
/**
* This method builds a map of business object with its property names and values
*
* @param businessObject the given business object
* @return the map of business object with its property names and values
*/
public static LinkedHashMap buildPropertyMap(Object businessObject) {
DynaClass dynaClass = WrapDynaClass.createDynaClass(businessObject.getClass());
DynaProperty[] properties = dynaClass.getDynaProperties();
LinkedHashMap propertyMap = new LinkedHashMap();
try {
for (int numOfProperty = 0; numOfProperty < properties.length; numOfProperty++) {
String propertyName = properties[numOfProperty].getName();
if (PropertyUtils.isWriteable(businessObject, propertyName)) {
Object propertyValue = PropertyUtils.getProperty(businessObject, propertyName);
propertyMap.put(propertyName, propertyValue);
}
}
}
catch (Exception e) {
LOG.error("OJBUtility.buildPropertyMap()" + e);
}
return propertyMap;
}
示例8: toString
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
public String toString()
{
StringBuffer result = new StringBuffer();
DynaClass type = getDynaClass();
DynaProperty[] props = type.getDynaProperties();
result.append(type.getName());
result.append(": ");
for (int idx = 0; idx < props.length; idx++)
{
if (idx > 0)
{
result.append(", ");
}
result.append(props[idx].getName());
result.append(" = ");
result.append(get(props[idx].getName()));
}
return result.toString();
}
示例9: definePropertyType
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
/**
* Calculate the property type.
*
* @param target The bean
* @param name The property name
* @param propName The Simple name of target property
* @return The property's type
*
* @throws IllegalAccessException if the caller does not have
* access to the property accessor method
* @throws InvocationTargetException if the property accessor method
* throws an exception
*/
protected Class<?> definePropertyType(final Object target, final String name, final String propName)
throws IllegalAccessException, InvocationTargetException {
Class<?> type = null; // Java type of target property
if (target instanceof DynaBean) {
final DynaClass dynaClass = ((DynaBean) target).getDynaClass();
final DynaProperty dynaProperty = dynaClass.getDynaProperty(propName);
if (dynaProperty == null) {
return null; // Skip this property setter
}
type = dynaProperty.getType();
}
else {
PropertyDescriptor descriptor = null;
try {
descriptor =
getPropertyUtils().getPropertyDescriptor(target, name);
if (descriptor == null) {
return null; // Skip this property setter
}
}
catch (final NoSuchMethodException e) {
return null; // Skip this property setter
}
if (descriptor instanceof MappedPropertyDescriptor) {
type = ((MappedPropertyDescriptor) descriptor).
getMappedPropertyType();
}
else if (descriptor instanceof IndexedPropertyDescriptor) {
type = ((IndexedPropertyDescriptor) descriptor).
getIndexedPropertyType();
}
else {
type = descriptor.getPropertyType();
}
}
return type;
}
示例10: getDynaClass
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
/**
* Returns the {@link SqlDynaClass} for the given bean.
*
* @param dynaBean The bean
* @return The dyna bean class
*/
public SqlDynaClass getDynaClass(DynaBean dynaBean) throws SqlDynaException
{
DynaClass dynaClass = dynaBean.getDynaClass();
if (dynaClass instanceof SqlDynaClass)
{
return (SqlDynaClass)dynaClass;
}
else
{
// TODO: we could autogenerate an SqlDynaClass here ?
throw new SqlDynaException("The dyna bean is not an instance of a SqlDynaClass");
}
}
示例11: equals
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
public boolean equals(Object obj)
{
if (obj instanceof SqlDynaBean)
{
SqlDynaBean other = (SqlDynaBean)obj;
DynaClass dynaClass = getDynaClass();
if (dynaClass.equals(other.getDynaClass()))
{
DynaProperty[] props = dynaClass.getDynaProperties();
for (int idx = 0; idx < props.length; idx++)
{
Object value = get(props[idx].getName());
Object otherValue = other.get(props[idx].getName());
if (value == null)
{
if (otherValue != null)
{
return false;
}
}
else
{
return value.equals(otherValue);
}
}
return true;
}
}
return false;
}
示例12: getDynaClass
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
public DynaClass getDynaClass() {
final LazyDynaClass dynaClass = new LazyDynaClass();
for (final Map.Entry<String, Class<?>> entry : propertyTypes.entrySet()) {
dynaClass.add(entry.getKey(), entry.getValue());
}
return dynaClass;
}
示例13: getFieldType
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
public Class<?> getFieldType(Object obj, String name) {
DynaClass dynaClass = ((DynaBean) obj).getDynaClass();
DynaProperty dynaProperty = dynaClass.getDynaProperty(name);
if (dynaProperty == null) {
throw new FieldnameNotFoundException("DynaBean: Could not find this fieldName ("+name+") on the target object: " + obj, name, null);
}
return dynaProperty.getType();
}
示例14: getDynaClass
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
@Override
public DynaClass getDynaClass() {
if (dynaClass == null) {
dynaClass = new JSDynaClass(delegate, REPORT_DYNA_CLASS_PREFIX + IdGenerator.genStringId());
}
return dynaClass;
}
示例15: buildObject
import org.apache.commons.beanutils.DynaClass; //导入依赖的package包/类
/**
* Populate the target object with the source object
*
* @param targetObject the target object
* @param sourceObject the source object
*/
public static void buildObject(Object targetObject, Object sourceObject) {
DynaClass dynaClass = WrapDynaClass.createDynaClass(targetObject.getClass());
DynaProperty[] properties = dynaClass.getDynaProperties();
for (DynaProperty property : properties) {
ObjectUtil.setProperty(targetObject, sourceObject, property, false);
}
}