package de.ivu.elect.presentation.stimmeingabe;

import java.io.Serializable;
import java.util.HashMap;

import org.apache.deltaspike.core.api.scope.ViewAccessScoped;

import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.stimmeingabe.entity.StimmeingabeAuffaelligkeit;

@ViewAccessScoped // ELECT-16131
public class StimmeingabeAuffaelligkeitCache implements Serializable {
  private final HashMap<Gebiet, StimmeingabeAuffaelligkeit> auffaelligkeitNachGebiet = new HashMap<>();

  private boolean initialized = false;

  public boolean isInitialized() {
    return initialized;
  }

  public void reset() {
    auffaelligkeitNachGebiet.clear();
    initialized = false;
  }

  public StimmeingabeAuffaelligkeit put(Gebiet gebiet, StimmeingabeAuffaelligkeit auffaelligkeit) {
    initialized = true;
    if (auffaelligkeit != null) {
      auffaelligkeitNachGebiet.put(gebiet, auffaelligkeit);
    }
    return auffaelligkeit;
  }

  public StimmeingabeAuffaelligkeit findAuffaelligkeitByGebiet(Gebiet gebiet) {
    if (gebiet != null) {
      return auffaelligkeitNachGebiet.get(gebiet);
    }
    return null;
  }
}
