
package de.ivu.elect.presentation.gebietsbaum.table;

import java.util.ArrayList;
import java.util.List;

import javax.inject.Named;

import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.jee.presentation.dynamictable.AbstractColumnBuilder;
import de.ivu.elect.jee.presentation.dynamictable.ColumnEntry;
import de.ivu.elect.presentation.table.AbstractColumnEntry;

@Named(VoteValueColumnBuilder.COMPONENT_NAME)
public class VoteValueColumnBuilder extends AbstractColumnBuilder<Gebiet> {

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "voteValueColumnBuilder";

  private AbstractColumnEntry<Gebiet> gebietNummerColumn;

  private AbstractColumnEntry<Gebiet> gebietNameColumn;

  private AbstractColumnEntry<Gebiet> gebietVoteValueColumn;

  public VoteValueColumnBuilder() {
    super();
  }

  @Override
  protected void initColumns() {
    gebietNummerColumn = new GebietNummerBezirkOderNummerColumn(getMessages());
    gebietNameColumn = new GebietNameColumn(getMessages());
    gebietVoteValueColumn = new NlWasGebietVoteValueColumn(getMessages());
  }

  @Override
  protected List<ColumnEntry< ? super Gebiet>> getColumnEntriesSorted() {
    List<ColumnEntry< ? super Gebiet>> result = new ArrayList<>();

    result.add(gebietNummerColumn);
    result.add(gebietNameColumn);
    result.add(gebietVoteValueColumn);

    return result;
  }
}
