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

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

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

private final NiederschriftKorrektur entity;


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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.niederschrift.entity.NiederschriftKorrekturArt>
                  niederschriftKorrekturArtProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.niederschrift.entity.NiederschriftKorrekturArt> niederschriftKorrekturArtMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
                  zeitstempelProperty;

        
    

public NiederschriftKorrekturProperties(NiederschriftKorrektur entity) {
this.entity = entity;

}

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


    

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getBeschreibungEinzahlMessage(),
        getMetaData().getBeschreibungDefaultValue(),
        getMetaData().isBeschreibungRequired(),
                entity::setBeschreibung,
        entity::getBeschreibung

                    ,  1 ,
            de.ivu.elect.business.niederschrift.entity.NiederschriftKorrekturConstants.BESCHREIBUNG_MAX_LENGTH
                );

        }


        return beschreibungProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getErfasserEinzahlMessage(),
        getMetaData().getErfasserDefaultValue(),
        getMetaData().isErfasserRequired(),
                entity::setErfasser,
        entity::getErfasser

                    ,  1 ,
            de.ivu.elect.business.niederschrift.entity.NiederschriftKorrekturConstants.ERFASSER_MAX_LENGTH
                );

        }


        return erfasserProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.niederschrift.entity.NiederschriftKorrekturArt>
                getNiederschriftKorrekturArtProperty() {
        if (niederschriftKorrekturArtProperty == null) {
        niederschriftKorrekturArtProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getNiederschriftKorrekturArtEinzahlMessage(),
        getMetaData().getNiederschriftKorrekturArtDefaultValue(),
        getMetaData().isNiederschriftKorrekturArtRequired(),
                entity::setNiederschriftKorrekturArt,
        entity::getNiederschriftKorrekturArt

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

        }


        return niederschriftKorrekturArtProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.niederschrift.entity.NiederschriftKorrekturArt> getNiederschriftKorrekturArtMitLeererAuswahlProperty() {
               if (niederschriftKorrekturArtMitLeererAuswahlProperty == null) {
                 niederschriftKorrekturArtMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getNiederschriftKorrekturArtEinzahlMessage(),
        				getMetaData().getNiederschriftKorrekturArtDefaultValue(),
                        getMetaData().isNiederschriftKorrekturArtRequired(),
                        entity::setNiederschriftKorrekturArt,
                        entity::getNiederschriftKorrekturArt
                        , de.ivu.elect.business.niederschrift.entity.NiederschriftKorrekturArt.class,
                        java.util.Arrays.asList(de.ivu.elect.business.niederschrift.entity.NiederschriftKorrekturArt.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return niederschriftKorrekturArtMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
        
        (
        getMetaData().getZeitstempelEinzahlMessage(),
        getMetaData().getZeitstempelDefaultValue(),
        getMetaData().isZeitstempelRequired(),
                entity::setZeitstempel,
        entity::getZeitstempel

                );

        }


        return zeitstempelProperty;
        }





        
        }