In my generic DAO's my overriden methods simply call the converter method.
A converter could also be passed to datatable attribute in markup as in any other component.
Code: Select all
public class MyJsfGenericDAO <T extends Entity> extends LazyDataModel<T>
{
private final Converter converter;
public MyJsfGenericDAO(...)
{
this.converter = new MyEntityConverter(entities);
}
@Override
public Object getRowKey(final T t)
{
return this.converter.getAsString(FacesContext.getCurrentInstance(), null, t);
}
@Override
public T getRowData(final String rowKey)
{
return (T) this.converter.getAsObject(FacesContext.getCurrentInstance(), null, rowKey);
}
}