
package de.ivu.elect.presentation.wahl.action;

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

import javax.inject.Inject;
import javax.inject.Named;

import de.ivu.elect.business.wahl.entity.Wahltermin;
import de.ivu.elect.jee.presentation.action.AbstractActionMenuModelBuilder;
import de.ivu.elect.jee.presentation.action.ActionEntry;

@Named(WahlterminActionMenu.COMPONENT_NAME)
public class WahlterminActionMenu extends AbstractActionMenuModelBuilder<Wahltermin> {

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "wahlterminActionMenu";

  @Inject
  protected transient WahlterminEditAction wahlterminEditAction;

  @Inject
  protected transient WahlterminZurBearbeitungAuswaehlenAction wahlterminZurBearbeitungAuswaehlenAction;


  @Inject
  protected transient WahlterminSperrenAction wahlterminSperrenAction;

  @Inject
  protected transient WahlterminEntsperrenAction wahlterminEntsperrenAction;

  @Inject
  protected transient WahlterminArchivierenAction wahlterminArchivierenAction;

  @Inject
  protected transient WahlterminEntarchivierenAction wahlterminEntarchivierenAction;

  @Inject
  protected transient WahlterminDeleteAction wahlterminDeleteAction;

  @Override
  protected List<ActionEntry<Wahltermin>> getActionEntriesSorted() {
    List<ActionEntry<Wahltermin>> result = new ArrayList<>();
    result.add(wahlterminZurBearbeitungAuswaehlenAction);
    result.add(wahlterminEditAction);
    result.add(wahlterminSperrenAction);
    result.add(wahlterminEntsperrenAction);
    result.add(wahlterminArchivierenAction);
    result.add(wahlterminEntarchivierenAction);
    result.add(wahlterminDeleteAction);

    return result;
  }

}
