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

import de.ivu.elect.jee.presentation.dynamicform.Property;

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

private final WvpWahlvorschlagDaten entity;


    
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  berichtProperty;

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  datenProperty;

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
                  datenuebernahmeVersionProperty;

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
                  datenuebernahmeZeitpunktProperty;

        
    

public WvpWahlvorschlagDatenProperties(WvpWahlvorschlagDaten entity) {
this.entity = entity;

}

private static WvpWahlvorschlagDatenMeta getMetaData() {
return de.ivu.elect.jee.cdi.BeanManagerUtil.getBeanByClass( WvpWahlvorschlagDatenMeta.class);
}


    

        public
                    de.ivu.elect.jee.presentation.dynamicform.AbstractStringProperty
                getBerichtProperty() {
        if (berichtProperty == null) {
        berichtProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getBerichtEinzahlMessage(),
        getMetaData().getBerichtDefaultValue(),
        getMetaData().isBerichtRequired(),
                entity::setBericht,
        entity::getBericht

                    , 0 ,
            de.ivu.elect.business.kandidatenportal.entity.WvpWahlvorschlagDatenConstants.BERICHT_MAX_LENGTH
                );

        }


        return berichtProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.AbstractStringProperty
                getDatenProperty() {
        if (datenProperty == null) {
        datenProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getDatenEinzahlMessage(),
        getMetaData().getDatenDefaultValue(),
        getMetaData().isDatenRequired(),
                entity::setDaten,
        entity::getDaten

                    ,  1 ,
            de.ivu.elect.business.kandidatenportal.entity.WvpWahlvorschlagDatenConstants.DATEN_MAX_LENGTH
                );

        }


        return datenProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.AbstractLongProperty
                getDatenuebernahmeVersionProperty() {
        if (datenuebernahmeVersionProperty == null) {
        datenuebernahmeVersionProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getDatenuebernahmeVersionEinzahlMessage(),
        getMetaData().getDatenuebernahmeVersionDefaultValue(),
        getMetaData().isDatenuebernahmeVersionRequired(),
                entity::setDatenuebernahmeVersion,
        entity::getDatenuebernahmeVersion

                    ,de.ivu.elect.business.kandidatenportal.entity.WvpWahlvorschlagDatenConstants.DATENUEBERNAHME_VERSTION_MIN_VALUE
            ,de.ivu.elect.business.kandidatenportal.entity.WvpWahlvorschlagDatenConstants.DATENUEBERNAHME_VERSTION_MAX_VALUE
                           );

        }


        return datenuebernahmeVersionProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.AbstractTimestampProperty
                getDatenuebernahmeZeitpunktProperty() {
        if (datenuebernahmeZeitpunktProperty == null) {
        datenuebernahmeZeitpunktProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
        
        (
        getMetaData().getDatenuebernahmeZeitpunktEinzahlMessage(),
        getMetaData().getDatenuebernahmeZeitpunktDefaultValue(),
        getMetaData().isDatenuebernahmeZeitpunktRequired(),
                entity::setDatenuebernahmeZeitpunkt,
        entity::getDatenuebernahmeZeitpunkt

                );

        }


        return datenuebernahmeZeitpunktProperty;
        }





        
        }