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

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

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

private final Gewaehlt entity;


    
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.GewaehltStatus>
                  gewaehltStatusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.GewaehltStatus> gewaehltStatusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
                  rangProperty;

        
    

public GewaehltProperties(Gewaehlt entity) {
this.entity = entity;

}

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


    

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.GewaehltStatus>
                getGewaehltStatusProperty() {
        if (gewaehltStatusProperty == null) {
        gewaehltStatusProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getGewaehltStatusEinzahlMessage(),
        getMetaData().getGewaehltStatusDefaultValue(),
        getMetaData().isGewaehltStatusRequired(),
                entity::setGewaehltStatus,
        entity::getGewaehltStatus

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

        }


        return gewaehltStatusProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.GewaehltStatus> getGewaehltStatusMitLeererAuswahlProperty() {
               if (gewaehltStatusMitLeererAuswahlProperty == null) {
                 gewaehltStatusMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getGewaehltStatusEinzahlMessage(),
        				getMetaData().getGewaehltStatusDefaultValue(),
                        getMetaData().isGewaehltStatusRequired(),
                        entity::setGewaehltStatus,
                        entity::getGewaehltStatus
                        , de.ivu.elect.business.ergebnis.entity.GewaehltStatus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.ergebnis.entity.GewaehltStatus.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return gewaehltStatusMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getRangEinzahlMessage(),
        getMetaData().getRangDefaultValue(),
        getMetaData().isRangRequired(),
                entity::setRang,
        entity::getRang

                    ,de.ivu.elect.business.ergebnis.entity.GewaehltConstants.RANG_MIN_VALUE
            ,de.ivu.elect.business.ergebnis.entity.GewaehltConstants.RANG_MAX_VALUE
                           );

        }


        return rangProperty;
        }





        
        }