Proposal to change BeanItem API

Hi all, i’m trying to develop a custom container (LazyFactoryzedBeanItemContainer aka LazyBeanContaner).
It use a factoryBean to retrive items from the db (the factory also use a itemFactory and some other layer, but it’s not the point)
As you can imagin it use BeanItems and so the BeanItems class API.

Here’s for convenience the actual BeanItem API

public class BeanItem<BT> extends PropertysetItem {
    public BeanItem(BT bean)
    BeanItem(BT bean, LinkedHashMap<String, PropertyDescriptor> propertyDescriptors)
    public BeanItem(BT bean, Collection<?> propertyIds)
    public BeanItem(BT bean, String[] propertyIds)
    static LinkedHashMap<String, PropertyDescriptor> getPropertyDescriptors(
            final Class<?> beanClass) 
    public BT getBean()
}

I’m interested in use the second constructor (
BeanItem(BT bean, LinkedHashMap<String, PropertyDescriptor> propertyDescriptors)
) that is “default”, for performance issues.Indeed the BeanFactory retrive a list of beans and with this contruct a list of BeanItems. Using the first contructor (
public BeanItem(BT bean)
) the model would be recalculated for every item.

I’m also interested in use the static method getPropertyDescriptors in conjunction with the second constructor.

For now I solved by putting my classes in the com.vaadin.data.util package.

so, summarizing:

I would be happy to see the contructor :
BeanItem(BT bean, LinkedHashMap<String, PropertyDescriptor> propertyDescriptors)
and the method static
LinkedHashMap<String, PropertyDescriptor> getPropertyDescriptors(
final Class<?> beanClass)
made public.

The container and the near class are still a “work in progress”, but if someone is interested in i can roughly pack it up.

Sorry for my english, I fear to have written nonsense.