
package de.ivu.elect.business.stimmeingabe.boundary.direktwahl;

import java.util.List;

import de.ivu.elect.business.stimmeingabe.boundary.AbstractDirektwahlStimmeingabeGruppeStimmenModelBuilder;
import de.ivu.elect.business.stimmeingabe.boundary.StimmeingabeGruppeStimmenErfassenModelContext;
import de.ivu.elect.business.stimmeingabe.entity.StimmeingabeGruppeStimmen;
import de.ivu.elect.business.stimmeingabe.entity.StimmeingabeGruppeStimmenErfassenModel;

public class DefaultDirektwahlStimmeingabeGruppeStimmenModelBuilder extends AbstractDirektwahlStimmeingabeGruppeStimmenModelBuilder {

  private static final long serialVersionUID = 1L;

  public DefaultDirektwahlStimmeingabeGruppeStimmenModelBuilder() {
    super();
  }

  @Override
  public List<StimmeingabeGruppeStimmen> layoutModelStimmeingabeSystemGruppeStimmen(StimmeingabeGruppeStimmenErfassenModel model, StimmeingabeGruppeStimmenErfassenModelContext context) {
    return getStimmeingabeGruppeStimmenErfassenModelLayout().layoutSystemGruppeStimmenGueltigeUngueltigeConfiguredOrDefault(model, context,
        fallback -> fallback.layoutSystemGruppeStimmenKeine(model, context));
  }

  @Override
  public List<StimmeingabeGruppeStimmen> layoutModelStimmeingabePolitischeGruppeStimmen(StimmeingabeGruppeStimmenErfassenModel model, StimmeingabeGruppeStimmenErfassenModelContext context) {
    return getStimmeingabeGruppeStimmenErfassenModelLayout().layoutPolitischeGruppeStimmenMitSystemGruppeStimmenGueltigeUngueltigeConfiguredOrDefault(model, context,
        fallback -> fallback.layoutPolitischeGruppeStimmenMitSystemGruppeStimmenUngueltigeGueltigeAlsErsteZeilen(model, context, /* ELECT-8377 */ true));
  }
}
