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

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

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

   private final EingereichtePositionProperty eingereichtePositionProperty;
    
   private final KurznameProperty kurznameProperty;
    
   private final NameProperty nameProperty;
    
   private final RelativePositionProperty relativePositionProperty;
    
   private final VorgegebenePositionProperty vorgegebenePositionProperty;
    
   private final ZusatzbezeichnungProperty zusatzbezeichnungProperty;
    


  public GruppeImGebietProperties(GruppeImGebiet entity) {
    
    this.eingereichtePositionProperty = new EingereichtePositionProperty(entity);
            this.kurznameProperty = new KurznameProperty(entity);
            this.nameProperty = new NameProperty(entity);
            this.relativePositionProperty = new RelativePositionProperty(entity);
            this.vorgegebenePositionProperty = new VorgegebenePositionProperty(entity);
            this.zusatzbezeichnungProperty = new ZusatzbezeichnungProperty(entity);
          }

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



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

    protected final GruppeImGebiet entity;

    public EingereichtePositionProperty(GruppeImGebiet entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

    @javax.validation.constraints.Min(de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebietConstants.EINGEREICHTE_POSITION_MIN_VALUE)
    @javax.validation.constraints.Max(de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebietConstants.EINGEREICHTE_POSITION_MAX_VALUE)
    
    @Override
    public java.lang.Long getValue() {
      return entity.getEingereichtePosition();
    }

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

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


  }

  public EingereichtePositionProperty getEingereichtePositionProperty() {
    return eingereichtePositionProperty;
  }


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

    protected final GruppeImGebiet entity;

    public KurznameProperty(GruppeImGebiet entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

  @javax.validation.constraints.Size(max=de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebietConstants.KURZNAME_MAX_LENGTH  )
    
    @Override
    public java.lang.String getValue() {
      return entity.getKurzname();
    }

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

  }

  public KurznameProperty getKurznameProperty() {
    return kurznameProperty;
  }


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

    protected final GruppeImGebiet entity;

    public NameProperty(GruppeImGebiet entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

  @javax.validation.constraints.Size(max=de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebietConstants.NAME_MAX_LENGTH  )
    
    @Override
    public java.lang.String getValue() {
      return entity.getName();
    }

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

  }

  public NameProperty getNameProperty() {
    return nameProperty;
  }


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

    protected final GruppeImGebiet entity;

    public RelativePositionProperty(GruppeImGebiet entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

    @javax.validation.constraints.Min(de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebietConstants.RELATIVE_POSITION_MIN_VALUE)
    @javax.validation.constraints.Max(de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebietConstants.RELATIVE_POSITION_MAX_VALUE)
    
    @Override
    public java.lang.Long getValue() {
      return entity.getRelativePosition();
    }

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

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


  }

  public RelativePositionProperty getRelativePositionProperty() {
    return relativePositionProperty;
  }


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

    protected final GruppeImGebiet entity;

    public VorgegebenePositionProperty(GruppeImGebiet entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

    @javax.validation.constraints.Min(de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebietConstants.VORGEGEBENE_POSITION_MIN_VALUE)
    @javax.validation.constraints.Max(de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebietConstants.VORGEGEBENE_POSITION_MAX_VALUE)
    
    @Override
    public java.lang.Long getValue() {
      return entity.getVorgegebenePosition();
    }

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

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


  }

  public VorgegebenePositionProperty getVorgegebenePositionProperty() {
    return vorgegebenePositionProperty;
  }


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

    protected final GruppeImGebiet entity;

    public ZusatzbezeichnungProperty(GruppeImGebiet entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

  @javax.validation.constraints.Size(max=de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebietConstants.ZUSATZBEZEICHNUNG_MAX_LENGTH  )
    
    @Override
    public java.lang.String getValue() {
      return entity.getZusatzbezeichnung();
    }

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

  }

  public ZusatzbezeichnungProperty getZusatzbezeichnungProperty() {
    return zusatzbezeichnungProperty;
  }


    
  }