package org.vaadin.viritin.v7.grid;
import com.vaadin.v7.data.Item;
import org.vaadin.viritin.v7.ListContainer;
/**
*
* @author datenhahn (http://datenhahn.de)
* @since 23.04.2016
* @param <M> the entity type listed in the consumer of the generator's container, Vaadin Grid
*/
public class StringPropertyValueGenerator<M> extends TypedPropertyValueGenerator<M, String> {
public StringPropertyValueGenerator(Class<M> modelType, ValueGenerator<M> valueGenerator) {
super(modelType, String.class, valueGenerator);
}
@Override
public String getValue(Item item, Object itemId, Object propertyId) {
return valueGenerator.getValue((M) ((ListContainer.DynaBeanItem) item).getBean());
}
public interface ValueGenerator<M> extends TypedPropertyValueGenerator.ValueGenerator<M, String> {
@Override
String getValue(M bean);
}
}