package au.com.vaadinutils.converter;
import java.util.Collection;
import java.util.HashSet;
import au.com.vaadinutils.crud.CrudEntity;
import com.vaadin.addon.jpacontainer.JPAContainer;
import com.vaadin.data.Container.Filter;
import com.vaadin.data.Item;
import com.vaadin.data.Property;
public class ContainerAdaptorJPA<E extends CrudEntity> implements ContainerAdaptor<E>
{
private JPAContainer<E> container;
public ContainerAdaptorJPA(JPAContainer<E> containerDataSource)
{
container = containerDataSource;
}
@Override
public Item getItem(Object id)
{
return container.getItem(id);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public Property getProperty(E item, Object propertyId)
{
return container.getContainerProperty(item.getId(), propertyId);
}
@Override
public E getEntity(Object id)
{
return container.getItem(id).getEntity();
}
@Override
public Collection<Object> getSortableContainerPropertyIds()
{
Collection<Object> ids = new HashSet<>();
ids.addAll(container.getSortableContainerPropertyIds());
return ids;
}
@Override
public void sort(String[] propertyId, boolean[] ascending)
{
container.sort(propertyId, ascending);
}
@Override
public void removeAllContainerFilters()
{
container.removeAllContainerFilters();
}
@Override
public void addContainerFilter(Filter filter)
{
container.addContainerFilter(filter);
}
@Override
public Class<E> getEntityClass()
{
return container.getEntityClass();
}
}