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

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

@javax.enterprise.inject.Vetoed
public class ErgebniseingangProperties 
{

   private final EingabeHashCodeProperty eingabeHashCodeProperty;
    
   private final EingangssequenznummerProperty eingangssequenznummerProperty;
    
   private final ErfasserProperty erfasserProperty;
    
   private final ErgebniseingabestufeProperty ergebniseingabestufeProperty;
          private final ErgebniseingabestufeMitLeererAuswahlProperty ergebniseingabestufeMitLeererAuswahlProperty;
    
   private final ErgebniseingangsartProperty ergebniseingangsartProperty;
          private final ErgebniseingangsartMitLeererAuswahlProperty ergebniseingangsartMitLeererAuswahlProperty;
    
   private final ErgebniseingangsfehlerstatusProperty ergebniseingangsfehlerstatusProperty;
          private final ErgebniseingangsfehlerstatusMitLeererAuswahlProperty ergebniseingangsfehlerstatusMitLeererAuswahlProperty;
    
   private final ErgebniseingangsherkunftProperty ergebniseingangsherkunftProperty;
          private final ErgebniseingangsherkunftMitLeererAuswahlProperty ergebniseingangsherkunftMitLeererAuswahlProperty;
    
   private final ErgebnissequenznummerProperty ergebnissequenznummerProperty;
    
   private final ZeitstempelProperty zeitstempelProperty;
    


  public ErgebniseingangProperties(Ergebniseingang entity) {
        
    this.eingabeHashCodeProperty = new EingabeHashCodeProperty(entity);
            this.eingangssequenznummerProperty = new EingangssequenznummerProperty(entity);
            this.erfasserProperty = new ErfasserProperty(entity);
            this.ergebniseingabestufeProperty = new ErgebniseingabestufeProperty(entity);
        this.ergebniseingabestufeMitLeererAuswahlProperty = new ErgebniseingabestufeMitLeererAuswahlProperty(entity);
            this.ergebniseingangsartProperty = new ErgebniseingangsartProperty(entity);
        this.ergebniseingangsartMitLeererAuswahlProperty = new ErgebniseingangsartMitLeererAuswahlProperty(entity);
            this.ergebniseingangsfehlerstatusProperty = new ErgebniseingangsfehlerstatusProperty(entity);
        this.ergebniseingangsfehlerstatusMitLeererAuswahlProperty = new ErgebniseingangsfehlerstatusMitLeererAuswahlProperty(entity);
            this.ergebniseingangsherkunftProperty = new ErgebniseingangsherkunftProperty(entity);
        this.ergebniseingangsherkunftMitLeererAuswahlProperty = new ErgebniseingangsherkunftMitLeererAuswahlProperty(entity);
            this.ergebnissequenznummerProperty = new ErgebnissequenznummerProperty(entity);
            this.zeitstempelProperty = new ZeitstempelProperty(entity);
          }

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



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

    protected final Ergebniseingang entity;

    public EingabeHashCodeProperty(Ergebniseingang entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

  @javax.validation.constraints.Size(max=de.ivu.elect.business.stimmeingabe.entity.ErgebniseingangConstants.EINGABE_HASH_CODE_MAX_LENGTH  )
    
    @Override
    public java.lang.String getValue() {
      return entity.getEingabeHashCode();
    }

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

  }

  public EingabeHashCodeProperty getEingabeHashCodeProperty() {
    return eingabeHashCodeProperty;
  }


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

    protected final Ergebniseingang entity;

    public EingangssequenznummerProperty(Ergebniseingang entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

    @javax.validation.constraints.Min(de.ivu.elect.business.stimmeingabe.entity.ErgebniseingangConstants.EINGANGSSEQUENZNUMMER_MIN_VALUE)
    @javax.validation.constraints.Max(de.ivu.elect.business.stimmeingabe.entity.ErgebniseingangConstants.EINGANGSSEQUENZNUMMER_MAX_VALUE)
    
    @Override
    public java.lang.Long getValue() {
      return entity.getEingangssequenznummer();
    }

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

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

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


  }

  public EingangssequenznummerProperty getEingangssequenznummerProperty() {
    return eingangssequenznummerProperty;
  }


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

    protected final Ergebniseingang entity;

    public ErfasserProperty(Ergebniseingang entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

  @javax.validation.constraints.Size(max=de.ivu.elect.business.stimmeingabe.entity.ErgebniseingangConstants.ERFASSER_MAX_LENGTH , min=1  )
    
    @Override
    public java.lang.String getValue() {
      return entity.getErfasser();
    }

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

  }

  public ErfasserProperty getErfasserProperty() {
    return erfasserProperty;
  }


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

    protected final Ergebniseingang entity;

    public ErgebniseingabestufeProperty(Ergebniseingang entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

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

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

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

  }

  public ErgebniseingabestufeProperty getErgebniseingabestufeProperty() {
    return ergebniseingabestufeProperty;
  }


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

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

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

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

    protected final Ergebniseingang entity;

    public ErgebniseingangsartProperty(Ergebniseingang entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

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

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

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

  }

  public ErgebniseingangsartProperty getErgebniseingangsartProperty() {
    return ergebniseingangsartProperty;
  }


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

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

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

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

    protected final Ergebniseingang entity;

    public ErgebniseingangsfehlerstatusProperty(Ergebniseingang entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

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

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

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

  }

  public ErgebniseingangsfehlerstatusProperty getErgebniseingangsfehlerstatusProperty() {
    return ergebniseingangsfehlerstatusProperty;
  }


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

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

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

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

    protected final Ergebniseingang entity;

    public ErgebniseingangsherkunftProperty(Ergebniseingang entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

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

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

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

  }

  public ErgebniseingangsherkunftProperty getErgebniseingangsherkunftProperty() {
    return ergebniseingangsherkunftProperty;
  }


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

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

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

        public ErgebniseingangsherkunftMitLeererAuswahlProperty getErgebniseingangsherkunftMitLeererAuswahlProperty() {
        return ergebniseingangsherkunftMitLeererAuswahlProperty;
        }
    
  
    @javax.enterprise.inject.Vetoed
    @Deprecated // ELECT-4623 Nicht mehr neu verwenden, TODO Verwendung reduzieren
   public static class ErgebnissequenznummerProperty extends
      de.ivu.elect.jee.presentation.dynamicform.AbstractLongProperty
  {

    protected final Ergebniseingang entity;

    public ErgebnissequenznummerProperty(Ergebniseingang entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

    @javax.validation.constraints.Min(de.ivu.elect.business.stimmeingabe.entity.ErgebniseingangConstants.ERGEBNISSEQUENZNUMMER_MIN_VALUE)
    @javax.validation.constraints.Max(de.ivu.elect.business.stimmeingabe.entity.ErgebniseingangConstants.ERGEBNISSEQUENZNUMMER_MAX_VALUE)
    
    @Override
    public java.lang.Long getValue() {
      return entity.getErgebnissequenznummer();
    }

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

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

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


  }

  public ErgebnissequenznummerProperty getErgebnissequenznummerProperty() {
    return ergebnissequenznummerProperty;
  }


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

    protected final Ergebniseingang entity;

    public ZeitstempelProperty(Ergebniseingang entity) {
      super();
      this.entity = entity;
    }

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

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

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

    @Override
    public java.util.Date getDefaultValue() {
      return getMetaDataIntern().getZeitstempelDefaultValue();
    }

    
    @Override
    public java.util.Date getValue() {
      return entity.getZeitstempel();
    }

    @Override
    public void setValue(java.util.Date value) {
      entity.setZeitstempel(value);
    }

  }

  public ZeitstempelProperty getZeitstempelProperty() {
    return zeitstempelProperty;
  }


    
  }