
org.vaadin.viritin.DynaBeanItem Maven / Gradle / Ivy
package org.vaadin.viritin;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.beanutils.DynaBean;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.beanutils.WrapDynaBean;
import org.apache.commons.beanutils.expression.DefaultResolver;
import org.apache.commons.lang3.ClassUtils;
import com.vaadin.data.Item;
import com.vaadin.data.Property;
/**
* A standalone version of the DynaBeanItem originally introduced in
* ListContainer. Can be used to implement e.g. efficient LazyQueryContainer
* instances for service layers.
*
* TODO check if this could be used in ListContainer without performance
* drawbacks.
*
* TODO check if some staff could be abstracted away
*
* @author Matti Tahvonen
* @param the type of the bean wrapped by the item
*/
public class DynaBeanItem implements Item {
private static final long serialVersionUID = -5073690046197951234L;
/* Container-Item-Property specifications don't say item should always return
the same property instance, but some components depend on this :-(
*/
private final Map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy