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

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

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

   private final NummerProperty nummerProperty;
    


  public EintragungslisteProperties(Eintragungsliste entity) {
        
    this.nummerProperty = new NummerProperty(entity);
          }

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



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

    protected final Eintragungsliste entity;

    public NummerProperty(Eintragungsliste entity) {
      super();
      this.entity = entity;
    }

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

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

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

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

    @javax.validation.constraints.Min(de.ivu.elect.business.unterstuetzer.entity.EintragungslisteConstants.NUMMER_MIN_VALUE)
    @javax.validation.constraints.Max(de.ivu.elect.business.unterstuetzer.entity.EintragungslisteConstants.NUMMER_MAX_VALUE)
    
    @Override
    public java.lang.Long getValue() {
      return entity.getNummer();
    }

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

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

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


  }

  public NummerProperty getNummerProperty() {
    return nummerProperty;
  }


    
  }