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

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

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

private final StatistikKennzeichen entity;


    
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.statistik.entity.StatistikKennzeichenArt>
                  kennzeichenProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.statistik.entity.StatistikKennzeichenArt> kennzeichenMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  qualifierProperty;

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

        
    

public StatistikKennzeichenProperties(StatistikKennzeichen entity) {
this.entity = entity;

}

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


    

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.statistik.entity.StatistikKennzeichenArt>
                getKennzeichenProperty() {
        if (kennzeichenProperty == null) {
        kennzeichenProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getKennzeichenEinzahlMessage(),
        getMetaData().getKennzeichenDefaultValue(),
        getMetaData().isKennzeichenRequired(),
                entity::setKennzeichen,
        entity::getKennzeichen

                    , de.ivu.elect.business.statistik.entity.StatistikKennzeichenArt.class,
            java.util.Arrays.asList(de.ivu.elect.business.statistik.entity.StatistikKennzeichenArt.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                );

        }


        return kennzeichenProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.statistik.entity.StatistikKennzeichenArt> getKennzeichenMitLeererAuswahlProperty() {
               if (kennzeichenMitLeererAuswahlProperty == null) {
                 kennzeichenMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getKennzeichenEinzahlMessage(),
        				getMetaData().getKennzeichenDefaultValue(),
                        getMetaData().isKennzeichenRequired(),
                        entity::setKennzeichen,
                        entity::getKennzeichen
                        , de.ivu.elect.business.statistik.entity.StatistikKennzeichenArt.class,
                        java.util.Arrays.asList(de.ivu.elect.business.statistik.entity.StatistikKennzeichenArt.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return kennzeichenMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getQualifierEinzahlMessage(),
        getMetaData().getQualifierDefaultValue(),
        getMetaData().isQualifierRequired(),
                entity::setQualifier,
        entity::getQualifier

                    , 0 ,
            de.ivu.elect.business.statistik.entity.StatistikKennzeichenConstants.QUALIFIER_MAX_LENGTH
                );

        }


        return qualifierProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getWertEinzahlMessage(),
        getMetaData().getWertDefaultValue(),
        getMetaData().isWertRequired(),
                entity::setWert,
        entity::getWert

                    ,de.ivu.elect.business.statistik.entity.StatistikKennzeichenConstants.WERT_MIN_VALUE
            ,de.ivu.elect.business.statistik.entity.StatistikKennzeichenConstants.WERT_MAX_VALUE
                           );

        }


        return wertProperty;
        }





        
        }