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

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

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

private final ErgebnisLogEintrag entity;


    
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.ErgebnisLogEintragArt>
                  ergebnisLogEintragArtProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.ErgebnisLogEintragArt> ergebnisLogEintragArtMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
                  positionProperty;

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

        
    

public ErgebnisLogEintragProperties(ErgebnisLogEintrag entity) {
this.entity = entity;

}

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


    

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.ErgebnisLogEintragArt>
                getErgebnisLogEintragArtProperty() {
        if (ergebnisLogEintragArtProperty == null) {
        ergebnisLogEintragArtProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getErgebnisLogEintragArtEinzahlMessage(),
        getMetaData().getErgebnisLogEintragArtDefaultValue(),
        getMetaData().isErgebnisLogEintragArtRequired(),
                entity::setErgebnisLogEintragArt,
        entity::getErgebnisLogEintragArt

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

        }


        return ergebnisLogEintragArtProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.ErgebnisLogEintragArt> getErgebnisLogEintragArtMitLeererAuswahlProperty() {
               if (ergebnisLogEintragArtMitLeererAuswahlProperty == null) {
                 ergebnisLogEintragArtMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getErgebnisLogEintragArtEinzahlMessage(),
        				getMetaData().getErgebnisLogEintragArtDefaultValue(),
                        getMetaData().isErgebnisLogEintragArtRequired(),
                        entity::setErgebnisLogEintragArt,
                        entity::getErgebnisLogEintragArt
                        , de.ivu.elect.business.ergebnis.entity.ErgebnisLogEintragArt.class,
                        java.util.Arrays.asList(de.ivu.elect.business.ergebnis.entity.ErgebnisLogEintragArt.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return ergebnisLogEintragArtMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getPositionEinzahlMessage(),
        getMetaData().getPositionDefaultValue(),
        getMetaData().isPositionRequired(),
                entity::setPosition,
        entity::getPosition

                    ,de.ivu.elect.business.ergebnis.entity.ErgebnisLogEintragConstants.POSITION_MIN_VALUE
            ,de.ivu.elect.business.ergebnis.entity.ErgebnisLogEintragConstants.POSITION_MAX_VALUE
                           );

        }


        return positionProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getTextEinzahlMessage(),
        getMetaData().getTextDefaultValue(),
        getMetaData().isTextRequired(),
                entity::setText,
        entity::getText

                    ,  1 ,
            de.ivu.elect.business.ergebnis.entity.ErgebnisLogEintragConstants.TEXT_MAX_LENGTH
                );

        }


        return textProperty;
        }





        
        }