if (bean instanceof DynaBean) { final DynaProperty[] descriptors = ((DynaBean) bean).getDynaClass().getDynaProperties(); for (DynaProperty descriptor : descriptors) { final String name = descriptor.getName(); description.put(name, getProperty(bean, name)); getPropertyDescriptors(bean); for (PropertyDescriptor descriptor : descriptors) { final String name = descriptor.getName(); if (descriptor.getReadMethod() != null) { description.put(name, getProperty(bean, name));
((DynaBean) orig).getDynaClass().getDynaProperties(); for (DynaProperty origDescriptor : origDescriptors) { final String name = origDescriptor.getName(); if (isReadable(orig, name) && isWriteable(dest, name)) { try { final Object value = ((DynaBean) orig).get(name); if (dest instanceof DynaBean) { ((DynaBean) dest).set(name, value); } else { setSimpleProperty(dest, name, value); try { if (dest instanceof DynaBean) { ((DynaBean) dest).set(name, entry.getValue()); } else { setSimpleProperty(dest, name, entry.getValue()); getPropertyDescriptors(orig); for (PropertyDescriptor origDescriptor : origDescriptors) { final String name = origDescriptor.getName(); if (isReadable(orig, name) && isWriteable(dest, name)) { try { final Object value = getSimpleProperty(orig, name); if (dest instanceof DynaBean) { ((DynaBean) dest).set(name, value); } else { setSimpleProperty(dest, name, value);
/** * Set the value for the specified property in * the decorated {@link DynaBean}. * * @param key The {@link DynaBean}'s property name * @param value The value for the specified property. * @return The previous property's value. * @throws UnsupportedOperationException if * <code>isReadOnly()</code> is true. */ public Object put(final K key, final Object value) { if (isReadOnly()) { throw new UnsupportedOperationException("Map is read only"); } final String property = toString(key); final Object previous = getDynaBean().get(property); getDynaBean().set(property, value); return previous; }
((DynaBean) bean).getDynaClass().getDynaProperty(name); if (descriptor == null) { throw new NoSuchMethodException("Unknown property '" + name + "' on dynaclass '" + ((DynaBean) bean).getDynaClass() + "'" ); return (((DynaBean) bean).get(name)); getPropertyDescriptor(bean, name); if (descriptor == null) { throw new NoSuchMethodException("Unknown property '" + name + "' on class '" + bean.getClass() + "'" ); final Method readMethod = getReadMethod(bean.getClass(), descriptor); if (readMethod == null) { throw new NoSuchMethodException("Property '" + name + final Object value = invokeMethod(readMethod, bean, EMPTY_OBJECT_ARRAY); return (value);
PropertyDescriptor[] targetPds = PropertyUtils.getPropertyDescriptors( beanClass ); for( int i = 0; i < targetPds.length; i++ ){ PropertyDescriptor targetPd = targetPds[i]; String name = targetPd.getName(); if( targetPd.getWriteMethod() == null ){ log.info( "Property '" + beanClass.getName() + "." + name + "' has no write method. SKIPPED." ); if( sourceBean instanceof DynaBean ){ DynaBean dynaBean = (DynaBean) sourceBean; DynaProperty dynaProperty = dynaBean.getDynaClass() .getDynaProperty( name ); if( dynaProperty == null ){ log.warn( "DynaProperty '" + name + "' does not exist. SKIPPED." ); continue; sourceType = sourcePd.getPropertyType(); Class targetType = targetPd.getPropertyType(); Object value = PropertyUtils.getProperty( sourceBean, name ); setProperty( targetBean, name, sourceType, targetType, value );
final Resolver resolver = getPropertyUtils().getResolver(); while (resolver.hasNested(name)) { try { target = getPropertyUtils().getProperty(target, resolver.next(name)); if (target == null) { // the value of a nested property is null return; final DynaClass dynaClass = ((DynaBean) target).getDynaClass(); final DynaProperty dynaProperty = dynaClass.getDynaProperty(propName); if (dynaProperty == null) { return; // Skip this property setter try { descriptor = getPropertyUtils().getPropertyDescriptor(target, name); if (descriptor == null) { return; // Skip this property setter getMappedPropertyType(); } else if (index >= 0 && descriptor instanceof IndexedPropertyDescriptor) { if (((IndexedPropertyDescriptor) descriptor).getIndexedWriteMethod() == null) { if (log.isDebugEnabled()) { log.debug("Skipping read-only property"); if (descriptor.getWriteMethod() == null) { if (log.isDebugEnabled()) { log.debug("Skipping read-only property");
final DynaClass dynaClass = ((DynaBean) target).getDynaClass(); final DynaProperty dynaProperty = dynaClass.getDynaProperty(propName); if (dynaProperty == null) { return null; // Skip this property setter type = dynaProperty.getType(); try { descriptor = getPropertyUtils().getPropertyDescriptor(target, name); if (descriptor == null) { return null; // Skip this property setter getIndexedPropertyType(); type = descriptor.getPropertyType();
DynaProperty origDescriptors[] = ((DynaBean) orig).getDynaClass().getDynaProperties(); for (int i = 0; i < origDescriptors.length; i++) { String name = origDescriptors[i].getName(); if (PropertyUtils.isWriteable(dest, name)) { Object value = ((DynaBean) orig).get(name); try { getInstance().setSimpleProperty(dest, name, value); } catch (Exception e) { while (names.hasNext()) { String name = (String) names.next(); if (PropertyUtils.isWriteable(dest, name)) { Object value = ((Map) orig).get(name); try { getInstance().setSimpleProperty(dest, name, value); } catch (Exception e) { PropertyDescriptor origDescriptors[] = PropertyUtils.getPropertyDescriptors(orig); for (int i = 0; i < origDescriptors.length; i++) { String name = origDescriptors[i].getName(); try { Object value = PropertyUtils.getSimpleProperty(orig, name); getInstance().setSimpleProperty(dest, name, value); } catch (IllegalArgumentException ie) {
DynaProperty descriptors[] = ((DynaBean) bean).getDynaClass() .getDynaProperties(); for (int i = 0; i < descriptors.length; i++) { String name = descriptors[i].getName(); description.put(name, getProperty(bean, name)); .getPropertyDescriptors(bean); for (int i = 0; i < descriptors.length; i++) { String name = descriptors[i].getName(); if (descriptors[i].getReadMethod() != null) description.put(name, getProperty(bean, name));
if (bean instanceof DynaBean) { final DynaProperty[] descriptors = ((DynaBean) bean).getDynaClass().getDynaProperties(); for (DynaProperty descriptor : descriptors) { final String name = descriptor.getName(); description.put(name, getProperty(bean, name)); getPropertyUtils().getPropertyDescriptors(bean); final Class<?> clazz = bean.getClass(); for (PropertyDescriptor descriptor : descriptors) { final String name = descriptor.getName(); if (getPropertyUtils().getReadMethod(clazz, descriptor) != null) { description.put(name, getProperty(bean, name));
public static Map<String, Object> toMap(Object bean) { if (bean == null) { return Collections.emptyMap(); } try { Map<String, Object> description = new HashMap<String, Object>(); if (bean instanceof DynaBean) { DynaProperty[] descriptors = ((DynaBean) bean).getDynaClass().getDynaProperties(); for (DynaProperty descriptor : descriptors) { String name = descriptor.getName(); description.put(name, BeanUtils.getProperty(bean, name)); } } else { PropertyDescriptor[] descriptors = PropertyUtils.getPropertyDescriptors(bean); for (PropertyDescriptor descriptor : descriptors) { String name = descriptor.getName(); if (PropertyUtils.getReadMethod(descriptor) != null) { description.put(name, PropertyUtils.getNestedProperty(bean, name)); } } } return description; } catch (Exception e) { return Collections.emptyMap(); } }
final Resolver resolver = getPropertyUtils().getResolver(); while (resolver.hasNested(name)) { try { target = getPropertyUtils().getProperty(target, resolver.next(name)); name = resolver.remove(name); } catch (final NoSuchMethodException e) { final DynaClass dynaClass = ((DynaBean) target).getDynaClass(); final DynaProperty dynaProperty = dynaClass.getDynaProperty(propName); if (dynaProperty == null) { return; // Skip this property setter try { descriptor = getPropertyUtils().getPropertyDescriptor(target, name); if (descriptor == null) { return; // Skip this property setter return; // Skip this property setter type = descriptor.getPropertyType(); if (type == null) {
public static Class type(Object obj, final String name) { try { if (DynaBean.class.isInstance(obj)) { DynaBean dynaBean = (DynaBean) obj; DynaProperty property = dynaBean.getDynaClass() .getDynaProperty(name); return property.getType(); } else { PropertyDescriptor desc = PropertyUtils.getPropertyDescriptor( obj, name); if (desc != null) { return desc.getPropertyType(); } } } catch (Exception e) { // do nothing } return null; }
((DynaBean) top).getDynaClass().getDynaProperty(property); if (desc == null) { throw new NoSuchMethodException PropertyUtils.getPropertyDescriptor(top, property); if (desc == null) { throw new NoSuchMethodException BeanUtils.setProperty(top, property, bodyText);
((DynaBean) top).getDynaClass().getDynaProperty(property); if (desc == null) { throw new NoSuchMethodException ("Bean has no property named " + property); PropertyUtils.getPropertyDescriptor(top, property); if (desc == null) { throw new NoSuchMethodException("Bean has no property named " + property); PropertyUtils.setProperty(top, property, value);
Object nestedBean = null; try { nestedBean = getProperty(bean, next); } catch (final IllegalAccessException e) { return false; return (((DynaBean) bean).getDynaClass().getDynaProperty(name) != null); } else { try { final PropertyDescriptor desc = getPropertyDescriptor(bean, name); if (desc != null) { Method readMethod = getReadMethod(bean.getClass(), desc); if (readMethod == null) { if (desc instanceof IndexedPropertyDescriptor) { readMethod = ((IndexedPropertyDescriptor) desc).getIndexedReadMethod(); } else if (desc instanceof MappedPropertyDescriptor) { readMethod = ((MappedPropertyDescriptor) desc).getMappedReadMethod();
return; } else if (bean instanceof List) { final List<Object> list = toObjectList(bean); list.set(index, value); return; ((DynaBean) bean).getDynaClass().getDynaProperty(name); if (descriptor == null) { throw new NoSuchMethodException("Unknown property '" + name + "' on bean class '" + bean.getClass() + "'"); ((DynaBean) bean).set(name, index, value); return; getPropertyDescriptor(bean, name); if (descriptor == null) { throw new NoSuchMethodException("Unknown property '" + getIndexedWriteMethod(); writeMethod = MethodUtils.getAccessibleMethod(bean.getClass(), writeMethod); if (writeMethod != null) { + " (class " + valueClassName+ ")"); invokeMethod(writeMethod, bean, subscript); } catch (final InvocationTargetException e) { if (e.getTargetException() instanceof
Object nestedBean = null; try { nestedBean = getProperty(bean, next); } catch (final IllegalAccessException e) { return false; return (((DynaBean) bean).getDynaClass().getDynaProperty(name) != null); } else { try { final PropertyDescriptor desc = getPropertyDescriptor(bean, name); if (desc != null) { Method writeMethod = getWriteMethod(bean.getClass(), desc); if (writeMethod == null) { if (desc instanceof IndexedPropertyDescriptor) { writeMethod = ((IndexedPropertyDescriptor) desc).getIndexedWriteMethod(); } else if (desc instanceof MappedPropertyDescriptor) { writeMethod = ((MappedPropertyDescriptor) desc).getMappedWriteMethod();
/** * Creates a new instance of {@code MultiWrapDynaBean} and initializes it * with the given collections of beans to be wrapped. * * @param beans the wrapped beans */ public MultiWrapDynaBean(final Collection<?> beans) { propsToBeans = new HashMap<>(); final Collection<DynaClass> beanClasses = new ArrayList<>(beans.size()); for (final Object bean : beans) { final DynaBean dynaBean = createDynaBean(bean); final DynaClass beanClass = dynaBean.getDynaClass(); for (final DynaProperty prop : beanClass.getDynaProperties()) { // ensure an order of properties if (!propsToBeans.containsKey(prop.getName())) { propsToBeans.put(prop.getName(), dynaBean); } } beanClasses.add(beanClass); } dynaClass = new MultiWrapDynaClass(beanClasses); }
((DynaBean) bean).getDynaClass().getDynaProperty(name); if (descriptor == null) { throw new NoSuchMethodException("Unknown property '" + name + "' on bean class '" + bean.getClass() + "'"); ((DynaBean) bean).set(name, key, value); return; getPropertyDescriptor(bean, name); if (descriptor == null) { throw new NoSuchMethodException("Unknown property '" + + " (class " + valueClassName +")"); invokeMethod(mappedWriteMethod, bean, params); } else { throw new NoSuchMethodException final Method readMethod = getReadMethod(bean.getClass(), descriptor); if (readMethod != null) { final Object invokeResult = invokeMethod(readMethod, bean, EMPTY_OBJECT_ARRAY);