package com.constellio.app.ui.framework.containers;
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
import org.vaadin.addons.lazyquerycontainer.QueryFactory;
public abstract class DecomValidatorsTableLazyContainer extends LazyQueryContainer {
public static final String LABEL = "label";
public static final String VALUE = "value";
public DecomValidatorsTableLazyContainer(QueryFactory queryFactory, Object idPropertyId, int batchSize, boolean compositeItems) {
super(queryFactory, idPropertyId, batchSize, compositeItems);
}
/*public DecomValidatorsTableLazyContainer(DecomValidatorsDataProvider dataProvider) {
super(new DecomValidatorVOLazyQueryDefinition(), new DecomValidatorVOLazyQueryFactory(dataProvider));
}
public class DecomValidatorVOLazyQueryDefinition extends LazyQueryDefinition {
public DecomValidatorVOLazyQueryDefinition() {
super(true, 100, null);
super.addProperty(LABEL, String.class, null, true, true);
super.addProperty(VALUE, Float.class, null, true, true);
}
class DecomValidatorVOLazyQueryFactory implements QueryFactory, Serializable {
DecomValidatorsDataProvider dataProvider;
public DecomValidatorVOLazyQueryFactory(DecomValidatorsDataProvider dataProvider) {
this.dataProvider = dataProvider;
}
@Override
public Query constructQuery(final QueryDefinition queryDefinition) {
return new SerializableQuery() {
@Override
public int size() {
return dataProvider.size();
}
@Override
public void saveItems(List<Item> addedItems, List<Item> modifiedItems, List<Item> removedItems) {
throw new UnsupportedOperationException("Query is read-only");
}
@Override
public List<Item> loadItems(int startIndex, int count) {
List<Item> items = new ArrayList<>();
List<DecomValidatorVO> decomValidatorVOs = dataProvider.getDecomValidators(startIndex, count);
for (DecomValidatorVO decomValidatorVO : decomValidatorVOs) {
Item item = new BeanItem<>(decomValidatorVO);
items.add(item);
}
return items;
}
@Override
public boolean deleteAllItems() {
throw new UnsupportedOperationException("Query is read-only");
}
@Override
public Item constructItem() {
throw new UnsupportedOperationException("Query is read-only");
}
};
}
private static interface SerializableQuery extends Query, Serializable {
}
}
}*/
}