package de.ivu.elect.business.wahl.entity;

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

/**
 *  on 08.06.2017.
 */
public class WahlResetStatusContainer implements Serializable {

  private static final long serialVersionUID = 1L;

  private final List<WahlResetStatusEntry> entries;

  private final WahlResetStatus status;

  public WahlResetStatusContainer(WahlResetStatus status) {
    this(status, Collections.emptyList());
  }

  public WahlResetStatusContainer(WahlResetStatus status, List<WahlResetStatusEntry> entries) {
    this.entries = entries;
    this.status = status;
  }

  public WahlResetStatusContainer(WahlResetStatusContainer alterContainer, WahlResetStatusEntry eintrag) {
    this(alterContainer.getStatus(), alterContainer, eintrag);
  }

  public WahlResetStatusContainer(WahlResetStatus status, WahlResetStatusContainer alterContainer, WahlResetStatusEntry eintrag) {
    this.status = status;
    entries = new ArrayList<>(alterContainer.getEntries());
    entries.add(eintrag);
  }

  public List<WahlResetStatusEntry> getEntries() {
    return entries;
  }

  public WahlResetStatus getStatus() {
    return status;
  }

}
