package com.googlecode.tawus;
import java.util.ArrayList;
import java.util.List;
import org.apache.tapestry5.OptionGroupModel;
import org.apache.tapestry5.OptionModel;
import org.apache.tapestry5.internal.OptionModelImpl;
import org.apache.tapestry5.util.AbstractSelectModel;
/**
* Select Model for entity The description is used for labeling
*/
public class EntitySelectModel<E> extends AbstractSelectModel
{
private List<E> entityList;
/**
* Constructor
*
* @param entityList
* list of entities
*/
public EntitySelectModel(final List<E> entityList)
{
this.entityList = entityList;
}
/**
* {@inheritDocs}
*/
public List<OptionGroupModel> getOptionGroups()
{
return null;
}
/**
* {@inheritDocs}
*/
public List<OptionModel> getOptions()
{
List<OptionModel> options = new ArrayList<OptionModel>();
for(Object entity : entityList)
{
options.add(new OptionModelImpl(entity.toString(), entity));
}
return options;
}
}