
package de.ivu.elect.business.gebietsbaum.boundary;

import de.ivu.elect.business.gebietsbaum.entity.Gebietsarteigenschaft;

public interface GebietsarteigenschaftTemplate {

  boolean isWahlgebiet();

  boolean isDirektwahlgebiet();

  boolean isListenwahlgebiet();

  boolean isReferendumgebiet();

  boolean isListenkandidatenWaehlbar();

  @Deprecated // ELECT-8198
  boolean isErgebnisRelevant();

  boolean isErfassungsgebiet();

  boolean isBriefwahlgebiet();

  default void fillGebietsarteigenschaft(Gebietsarteigenschaft gebietsarteigenschaft){
    gebietsarteigenschaft.setWahlgebiet(isWahlgebiet());
    gebietsarteigenschaft.setDirektwahlgebiet(isDirektwahlgebiet());
    gebietsarteigenschaft.setListenwahlgebiet(isListenwahlgebiet());
    gebietsarteigenschaft.setReferendumgebiet(isReferendumgebiet());
    gebietsarteigenschaft.setListenkandidatenWaehlbar(isListenkandidatenWaehlbar());
    gebietsarteigenschaft.setErgebnisRelevantDeprecated(isErgebnisRelevant()); // Hinfällig
    gebietsarteigenschaft.setErfassungsgebiet(isErfassungsgebiet());
    gebietsarteigenschaft.setBriefwahlgebiet(isBriefwahlgebiet());
  }
}
