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

import de.ivu.elect.jee.faces.FacesContextUtil;

@javax.enterprise.inject.Vetoed
public class WahldurchfuehrungsgebietProperties 
extends de.ivu.elect.business.gebietsbaum.entity.GebietProperties
{

   private final AnzahlWahlberechtigteOhneWahlscheinProperty anzahlWahlberechtigteOhneWahlscheinProperty;
    
   private final AnzahlWahlberechtigteMitWahlscheinProperty anzahlWahlberechtigteMitWahlscheinProperty;
    
   private final AnzahlWahlberechtigteNichtImWaehlerverzeichnisProperty anzahlWahlberechtigteNichtImWaehlerverzeichnisProperty;
    
   private final BriefwahlInUrneErfassenProperty briefwahlInUrneErfassenProperty;
    
   private final EingabestatusEndgueltigProperty eingabestatusEndgueltigProperty;
          private final EingabestatusEndgueltigMitLeererAuswahlProperty eingabestatusEndgueltigMitLeererAuswahlProperty;
    
   private final EingabestatusVorlaeufigProperty eingabestatusVorlaeufigProperty;
          private final EingabestatusVorlaeufigMitLeererAuswahlProperty eingabestatusVorlaeufigMitLeererAuswahlProperty;
    
   private final ErfassungsbesonderheitProperty erfassungsbesonderheitProperty;
          private final ErfassungsbesonderheitMitLeererAuswahlProperty erfassungsbesonderheitMitLeererAuswahlProperty;
    
   private final TextFuerPraesentationProperty textFuerPraesentationProperty;
    


  public WahldurchfuehrungsgebietProperties(Wahldurchfuehrungsgebiet entity) {
          super(entity);
        
    this.anzahlWahlberechtigteOhneWahlscheinProperty = new AnzahlWahlberechtigteOhneWahlscheinProperty(entity);
            this.anzahlWahlberechtigteMitWahlscheinProperty = new AnzahlWahlberechtigteMitWahlscheinProperty(entity);
            this.anzahlWahlberechtigteNichtImWaehlerverzeichnisProperty = new AnzahlWahlberechtigteNichtImWaehlerverzeichnisProperty(entity);
            this.briefwahlInUrneErfassenProperty = new BriefwahlInUrneErfassenProperty(entity);
            this.eingabestatusEndgueltigProperty = new EingabestatusEndgueltigProperty(entity);
        this.eingabestatusEndgueltigMitLeererAuswahlProperty = new EingabestatusEndgueltigMitLeererAuswahlProperty(entity);
            this.eingabestatusVorlaeufigProperty = new EingabestatusVorlaeufigProperty(entity);
        this.eingabestatusVorlaeufigMitLeererAuswahlProperty = new EingabestatusVorlaeufigMitLeererAuswahlProperty(entity);
            this.erfassungsbesonderheitProperty = new ErfassungsbesonderheitProperty(entity);
        this.erfassungsbesonderheitMitLeererAuswahlProperty = new ErfassungsbesonderheitMitLeererAuswahlProperty(entity);
            this.textFuerPraesentationProperty = new TextFuerPraesentationProperty(entity);
          }

  private static WahldurchfuehrungsgebietMeta getMetaData() {
    return FacesContextUtil.getElValue("#{wahldurchfuehrungsgebietMeta}", WahldurchfuehrungsgebietMeta.class);
  }



    @javax.enterprise.inject.Vetoed
    @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
   public static class AnzahlWahlberechtigteOhneWahlscheinProperty extends
      de.ivu.elect.jee.presentation.dynamicform.AbstractLongProperty
  {

    protected final Wahldurchfuehrungsgebiet entity;

    public AnzahlWahlberechtigteOhneWahlscheinProperty(Wahldurchfuehrungsgebiet entity) {
      super();
      this.entity = entity;
    }

    public WahldurchfuehrungsgebietMeta getMetaDataIntern() {
        return getMetaData();
    }

    @Override
    public String getDefaultLabel() {
      return getMetaDataIntern().getAnzahlWahlberechtigteOhneWahlscheinEinzahlMessage();
    }

    @Override
    public boolean getDefaultRequired() {
      return getMetaDataIntern().isAnzahlWahlberechtigteOhneWahlscheinRequired();
    }

    @Override
    public java.lang.Long getDefaultValue() {
      return getMetaDataIntern().getAnzahlWahlberechtigteOhneWahlscheinDefaultValue();
    }

    @javax.validation.constraints.Min(de.ivu.elect.business.gebietsbaum.entity.WahldurchfuehrungsgebietConstants.ANZAHL_WAHLBERECHTIGTER_A1_MIN_VALUE)
    @javax.validation.constraints.Max(de.ivu.elect.business.gebietsbaum.entity.WahldurchfuehrungsgebietConstants.ANZAHL_WAHLBERECHTIGTER_A1_MAX_VALUE)
    
    @Override
    public java.lang.Long getValue() {
      return entity.getAnzahlWahlberechtigteOhneWahlschein();
    }

    @Override
    public void setValue(java.lang.Long value) {
      entity.setAnzahlWahlberechtigteOhneWahlschein(value);
    }
    @Override
    public long getMinValue() {
      return getMetaDataIntern().getAnzahlWahlberechtigteOhneWahlscheinMinValue();
    }

    @Override
    public int getMaxLength() {
      return getMetaDataIntern().getAnzahlWahlberechtigteOhneWahlscheinMaxLength();
    }

    @Override
    public long getMaxValue() {
      return getMetaDataIntern().getAnzahlWahlberechtigteOhneWahlscheinMaxValue();
    }


  }

  public AnzahlWahlberechtigteOhneWahlscheinProperty getAnzahlWahlberechtigteOhneWahlscheinProperty() {
    return anzahlWahlberechtigteOhneWahlscheinProperty;
  }


    
  
    @javax.enterprise.inject.Vetoed
    @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
   public static class AnzahlWahlberechtigteMitWahlscheinProperty extends
      de.ivu.elect.jee.presentation.dynamicform.AbstractLongProperty
  {

    protected final Wahldurchfuehrungsgebiet entity;

    public AnzahlWahlberechtigteMitWahlscheinProperty(Wahldurchfuehrungsgebiet entity) {
      super();
      this.entity = entity;
    }

    public WahldurchfuehrungsgebietMeta getMetaDataIntern() {
        return getMetaData();
    }

    @Override
    public String getDefaultLabel() {
      return getMetaDataIntern().getAnzahlWahlberechtigteMitWahlscheinEinzahlMessage();
    }

    @Override
    public boolean getDefaultRequired() {
      return getMetaDataIntern().isAnzahlWahlberechtigteMitWahlscheinRequired();
    }

    @Override
    public java.lang.Long getDefaultValue() {
      return getMetaDataIntern().getAnzahlWahlberechtigteMitWahlscheinDefaultValue();
    }

    @javax.validation.constraints.Min(de.ivu.elect.business.gebietsbaum.entity.WahldurchfuehrungsgebietConstants.ANZAHL_WAHLBERECHTIGTER_A2_MIN_VALUE)
    @javax.validation.constraints.Max(de.ivu.elect.business.gebietsbaum.entity.WahldurchfuehrungsgebietConstants.ANZAHL_WAHLBERECHTIGTER_A2_MAX_VALUE)
    
    @Override
    public java.lang.Long getValue() {
      return entity.getAnzahlWahlberechtigteMitWahlschein();
    }

    @Override
    public void setValue(java.lang.Long value) {
      entity.setAnzahlWahlberechtigteMitWahlschein(value);
    }
    @Override
    public long getMinValue() {
      return getMetaDataIntern().getAnzahlWahlberechtigteMitWahlscheinMinValue();
    }

    @Override
    public int getMaxLength() {
      return getMetaDataIntern().getAnzahlWahlberechtigteMitWahlscheinMaxLength();
    }

    @Override
    public long getMaxValue() {
      return getMetaDataIntern().getAnzahlWahlberechtigteMitWahlscheinMaxValue();
    }


  }

  public AnzahlWahlberechtigteMitWahlscheinProperty getAnzahlWahlberechtigteMitWahlscheinProperty() {
    return anzahlWahlberechtigteMitWahlscheinProperty;
  }


    
  
    @javax.enterprise.inject.Vetoed
    @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
   public static class AnzahlWahlberechtigteNichtImWaehlerverzeichnisProperty extends
      de.ivu.elect.jee.presentation.dynamicform.AbstractLongProperty
  {

    protected final Wahldurchfuehrungsgebiet entity;

    public AnzahlWahlberechtigteNichtImWaehlerverzeichnisProperty(Wahldurchfuehrungsgebiet entity) {
      super();
      this.entity = entity;
    }

    public WahldurchfuehrungsgebietMeta getMetaDataIntern() {
        return getMetaData();
    }

    @Override
    public String getDefaultLabel() {
      return getMetaDataIntern().getAnzahlWahlberechtigteNichtImWaehlerverzeichnisEinzahlMessage();
    }

    @Override
    public boolean getDefaultRequired() {
      return getMetaDataIntern().isAnzahlWahlberechtigteNichtImWaehlerverzeichnisRequired();
    }

    @Override
    public java.lang.Long getDefaultValue() {
      return getMetaDataIntern().getAnzahlWahlberechtigteNichtImWaehlerverzeichnisDefaultValue();
    }

    @javax.validation.constraints.Min(de.ivu.elect.business.gebietsbaum.entity.WahldurchfuehrungsgebietConstants.ANZAHL_WAHLBERECHTIGTER_A3_MIN_VALUE)
    @javax.validation.constraints.Max(de.ivu.elect.business.gebietsbaum.entity.WahldurchfuehrungsgebietConstants.ANZAHL_WAHLBERECHTIGTER_A3_MAX_VALUE)
    
    @Override
    public java.lang.Long getValue() {
      return entity.getAnzahlWahlberechtigteNichtImWaehlerverzeichnis();
    }

    @Override
    public void setValue(java.lang.Long value) {
      entity.setAnzahlWahlberechtigteNichtImWaehlerverzeichnis(value);
    }
    @Override
    public long getMinValue() {
      return getMetaDataIntern().getAnzahlWahlberechtigteNichtImWaehlerverzeichnisMinValue();
    }

    @Override
    public int getMaxLength() {
      return getMetaDataIntern().getAnzahlWahlberechtigteNichtImWaehlerverzeichnisMaxLength();
    }

    @Override
    public long getMaxValue() {
      return getMetaDataIntern().getAnzahlWahlberechtigteNichtImWaehlerverzeichnisMaxValue();
    }


  }

  public AnzahlWahlberechtigteNichtImWaehlerverzeichnisProperty getAnzahlWahlberechtigteNichtImWaehlerverzeichnisProperty() {
    return anzahlWahlberechtigteNichtImWaehlerverzeichnisProperty;
  }


    
  
    @javax.enterprise.inject.Vetoed
    @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
   public static class BriefwahlInUrneErfassenProperty extends
      de.ivu.elect.jee.presentation.dynamicform.AbstractBooleanProperty
  {

    protected final Wahldurchfuehrungsgebiet entity;

    public BriefwahlInUrneErfassenProperty(Wahldurchfuehrungsgebiet entity) {
      super();
      this.entity = entity;
    }

    public WahldurchfuehrungsgebietMeta getMetaDataIntern() {
        return getMetaData();
    }

    @Override
    public String getDefaultLabel() {
      return getMetaDataIntern().getBriefwahlInUrneErfassenEinzahlMessage();
    }

    @Override
    public boolean getDefaultRequired() {
      return getMetaDataIntern().isBriefwahlInUrneErfassenRequired();
    }

    @Override
    public java.lang.Boolean getDefaultValue() {
      return getMetaDataIntern().getBriefwahlInUrneErfassenDefaultValue();
    }

    
    @Override
    public java.lang.Boolean getValue() {
      return entity.getBriefwahlInUrneErfassen();
    }

    @Override
    public void setValue(java.lang.Boolean value) {
      entity.setBriefwahlInUrneErfassen(value);
    }

  }

  public BriefwahlInUrneErfassenProperty getBriefwahlInUrneErfassenProperty() {
    return briefwahlInUrneErfassenProperty;
  }


    
  
    @javax.enterprise.inject.Vetoed
    @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
   public static class EingabestatusEndgueltigProperty extends
      de.ivu.elect.jee.presentation.dynamicform.AbstractEnumProperty<de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus>
  {

    protected final Wahldurchfuehrungsgebiet entity;

    public EingabestatusEndgueltigProperty(Wahldurchfuehrungsgebiet entity) {
      super();
      this.entity = entity;
    }

    public WahldurchfuehrungsgebietMeta getMetaDataIntern() {
        return getMetaData();
    }

    @Override
    public String getDefaultLabel() {
      return getMetaDataIntern().getEingabestatusEndgueltigEinzahlMessage();
    }

    @Override
    public boolean getDefaultRequired() {
      return getMetaDataIntern().isEingabestatusEndgueltigRequired();
    }

    @Override
    public de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus getDefaultValue() {
      return getMetaDataIntern().getEingabestatusEndgueltigDefaultValue();
    }

    
    @Override
    public de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus getValue() {
      return entity.getEingabestatusEndgueltig();
    }

    @Override
    public void setValue(de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus value) {
      entity.setEingabestatusEndgueltig(value);
    }
    @Override
    public java.util.List<de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus> getValues() {
      return java.util.Arrays.stream(de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus.values()).filter(getValueFilter()).sorted().collect(java.util.stream.Collectors.toList());
    }

    @Override
    public Class<de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus> getEnumClass() {
      return de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus.class;
    }

  }

  public EingabestatusEndgueltigProperty getEingabestatusEndgueltigProperty() {
    return eingabestatusEndgueltigProperty;
  }


            @javax.enterprise.inject.Vetoed
        @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
        public static class EingabestatusEndgueltigMitLeererAuswahlProperty extends EingabestatusEndgueltigProperty {
        public EingabestatusEndgueltigMitLeererAuswahlProperty(Wahldurchfuehrungsgebiet entity) {
        super(entity);
        }

        @Override
        public boolean hasNoSelectionItem() {
        return true;
        }

        @Override
        public boolean getDefaultRequired() {
        return false;
        }
        }

        public EingabestatusEndgueltigMitLeererAuswahlProperty getEingabestatusEndgueltigMitLeererAuswahlProperty() {
        return eingabestatusEndgueltigMitLeererAuswahlProperty;
        }
    
  
    @javax.enterprise.inject.Vetoed
    @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
   public static class EingabestatusVorlaeufigProperty extends
      de.ivu.elect.jee.presentation.dynamicform.AbstractEnumProperty<de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus>
  {

    protected final Wahldurchfuehrungsgebiet entity;

    public EingabestatusVorlaeufigProperty(Wahldurchfuehrungsgebiet entity) {
      super();
      this.entity = entity;
    }

    public WahldurchfuehrungsgebietMeta getMetaDataIntern() {
        return getMetaData();
    }

    @Override
    public String getDefaultLabel() {
      return getMetaDataIntern().getEingabestatusVorlaeufigEinzahlMessage();
    }

    @Override
    public boolean getDefaultRequired() {
      return getMetaDataIntern().isEingabestatusVorlaeufigRequired();
    }

    @Override
    public de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus getDefaultValue() {
      return getMetaDataIntern().getEingabestatusVorlaeufigDefaultValue();
    }

    
    @Override
    public de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus getValue() {
      return entity.getEingabestatusVorlaeufig();
    }

    @Override
    public void setValue(de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus value) {
      entity.setEingabestatusVorlaeufig(value);
    }
    @Override
    public java.util.List<de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus> getValues() {
      return java.util.Arrays.stream(de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus.values()).filter(getValueFilter()).sorted().collect(java.util.stream.Collectors.toList());
    }

    @Override
    public Class<de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus> getEnumClass() {
      return de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus.class;
    }

  }

  public EingabestatusVorlaeufigProperty getEingabestatusVorlaeufigProperty() {
    return eingabestatusVorlaeufigProperty;
  }


            @javax.enterprise.inject.Vetoed
        @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
        public static class EingabestatusVorlaeufigMitLeererAuswahlProperty extends EingabestatusVorlaeufigProperty {
        public EingabestatusVorlaeufigMitLeererAuswahlProperty(Wahldurchfuehrungsgebiet entity) {
        super(entity);
        }

        @Override
        public boolean hasNoSelectionItem() {
        return true;
        }

        @Override
        public boolean getDefaultRequired() {
        return false;
        }
        }

        public EingabestatusVorlaeufigMitLeererAuswahlProperty getEingabestatusVorlaeufigMitLeererAuswahlProperty() {
        return eingabestatusVorlaeufigMitLeererAuswahlProperty;
        }
    
  
    @javax.enterprise.inject.Vetoed
    @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
   public static class ErfassungsbesonderheitProperty extends
      de.ivu.elect.jee.presentation.dynamicform.AbstractEnumProperty<de.ivu.elect.business.gebietsbaum.entity.Erfassungsbesonderheit>
  {

    protected final Wahldurchfuehrungsgebiet entity;

    public ErfassungsbesonderheitProperty(Wahldurchfuehrungsgebiet entity) {
      super();
      this.entity = entity;
    }

    public WahldurchfuehrungsgebietMeta getMetaDataIntern() {
        return getMetaData();
    }

    @Override
    public String getDefaultLabel() {
      return getMetaDataIntern().getErfassungsbesonderheitEinzahlMessage();
    }

    @Override
    public boolean getDefaultRequired() {
      return getMetaDataIntern().isErfassungsbesonderheitRequired();
    }

    @Override
    public de.ivu.elect.business.gebietsbaum.entity.Erfassungsbesonderheit getDefaultValue() {
      return getMetaDataIntern().getErfassungsbesonderheitDefaultValue();
    }

    
    @Override
    public de.ivu.elect.business.gebietsbaum.entity.Erfassungsbesonderheit getValue() {
      return entity.getErfassungsbesonderheit();
    }

    @Override
    public void setValue(de.ivu.elect.business.gebietsbaum.entity.Erfassungsbesonderheit value) {
      entity.setErfassungsbesonderheit(value);
    }
    @Override
    public java.util.List<de.ivu.elect.business.gebietsbaum.entity.Erfassungsbesonderheit> getValues() {
      return java.util.Arrays.stream(de.ivu.elect.business.gebietsbaum.entity.Erfassungsbesonderheit.values()).filter(getValueFilter()).sorted().collect(java.util.stream.Collectors.toList());
    }

    @Override
    public Class<de.ivu.elect.business.gebietsbaum.entity.Erfassungsbesonderheit> getEnumClass() {
      return de.ivu.elect.business.gebietsbaum.entity.Erfassungsbesonderheit.class;
    }

  }

  public ErfassungsbesonderheitProperty getErfassungsbesonderheitProperty() {
    return erfassungsbesonderheitProperty;
  }


            @javax.enterprise.inject.Vetoed
        @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
        public static class ErfassungsbesonderheitMitLeererAuswahlProperty extends ErfassungsbesonderheitProperty {
        public ErfassungsbesonderheitMitLeererAuswahlProperty(Wahldurchfuehrungsgebiet entity) {
        super(entity);
        }

        @Override
        public boolean hasNoSelectionItem() {
        return true;
        }

        @Override
        public boolean getDefaultRequired() {
        return false;
        }
        }

        public ErfassungsbesonderheitMitLeererAuswahlProperty getErfassungsbesonderheitMitLeererAuswahlProperty() {
        return erfassungsbesonderheitMitLeererAuswahlProperty;
        }
    
  
    @javax.enterprise.inject.Vetoed
    @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
   public static class TextFuerPraesentationProperty extends
      de.ivu.elect.jee.presentation.dynamicform.AbstractStringProperty
  {

    protected final Wahldurchfuehrungsgebiet entity;

    public TextFuerPraesentationProperty(Wahldurchfuehrungsgebiet entity) {
      super();
      this.entity = entity;
    }

    public WahldurchfuehrungsgebietMeta getMetaDataIntern() {
        return getMetaData();
    }

    @Override
    public String getDefaultLabel() {
      return getMetaDataIntern().getTextFuerPraesentationEinzahlMessage();
    }

    @Override
    public boolean getDefaultRequired() {
      return getMetaDataIntern().isTextFuerPraesentationRequired();
    }

    @Override
    public java.lang.String getDefaultValue() {
      return getMetaDataIntern().getTextFuerPraesentationDefaultValue();
    }

  @javax.validation.constraints.Size(max=de.ivu.elect.business.gebietsbaum.entity.WahldurchfuehrungsgebietConstants.TEXT_FUER_PRAESENTATION_MAX_LENGTH  )
    
    @Override
    public java.lang.String getValue() {
      return entity.getTextFuerPraesentation();
    }

    @Override
    public void setValue(java.lang.String value) {
      entity.setTextFuerPraesentation(value);
    }
    @Override
    public int getDefaultMaxLength() {
      return getMetaDataIntern().getTextFuerPraesentationMaxLength();
    }

  }

  public TextFuerPraesentationProperty getTextFuerPraesentationProperty() {
    return textFuerPraesentationProperty;
  }


    
  }