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

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.enterprise.inject.Instance;
import javax.inject.Inject;

import de.ivu.elect.business.personenpruefung.entity.PersonenKonflikt;
import de.ivu.elect.jee.presentation.action.ActionEntry;

/**
 *  on 06.11.2015.
 */
public class PersonenKonfliktAufloesenActionBuilder implements Serializable {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient Instance<PersonenKonfliktAufloesenActionInterface> personenKonfliktAufloesenActions;

  public PersonenKonfliktAufloesenActionBuilder() {
    super();
  }

  public List<ActionEntry<PersonenKonflikt>> getAufloesenActions(PersonenKonflikt personenKonflikt) {
    List<ActionEntry<PersonenKonflikt>> result = new ArrayList<>();

    for (PersonenKonfliktAufloesenActionInterface personenKonfliktAufloesenAction : personenKonfliktAufloesenActions) {
      if (personenKonfliktAufloesenAction.isActionPossible(personenKonflikt)) {
        result.add(personenKonfliktAufloesenAction.getActionEntry());
      }
    }

    return result;
  }
}
