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

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

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

private final Mandant entity;


    
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.mandant.entity.MandantArt>
                  artProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.mandant.entity.MandantArt> artMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  beschreibungProperty;

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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.mandant.entity.MandantStatus>
                  statusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.mandant.entity.MandantStatus> statusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.system.entity.SystemGebietsebene>
                  systemGebietsebeneProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.system.entity.SystemGebietsebene> systemGebietsebeneMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  verantworteteGebieteProperty;

        
    

public MandantProperties(Mandant entity) {
this.entity = entity;

}

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


    

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.mandant.entity.MandantArt>
                getArtProperty() {
        if (artProperty == null) {
        artProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getArtEinzahlMessage(),
        getMetaData().getArtDefaultValue(),
        getMetaData().isArtRequired(),
                entity::setArt,
        entity::getArt

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

        }


        return artProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.mandant.entity.MandantArt> getArtMitLeererAuswahlProperty() {
               if (artMitLeererAuswahlProperty == null) {
                 artMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getArtEinzahlMessage(),
        				getMetaData().getArtDefaultValue(),
                        getMetaData().isArtRequired(),
                        entity::setArt,
                        entity::getArt
                        , de.ivu.elect.business.mandant.entity.MandantArt.class,
                        java.util.Arrays.asList(de.ivu.elect.business.mandant.entity.MandantArt.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return artMitLeererAuswahlProperty;
            }
        
        

        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

                    , 0 ,
            de.ivu.elect.business.mandant.entity.MandantConstants.BESCHREIBUNG_MAX_LENGTH
                );

        }


        return beschreibungProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getNameEinzahlMessage(),
        getMetaData().getNameDefaultValue(),
        getMetaData().isNameRequired(),
                entity::setName,
        entity::getName

                    ,  1 ,
            de.ivu.elect.business.mandant.entity.MandantConstants.NAME_MAX_LENGTH
                );

        }


        return nameProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getNummerEinzahlMessage(),
        getMetaData().getNummerDefaultValue(),
        getMetaData().isNummerRequired(),
                entity::setNummer,
        entity::getNummer

                    , de.ivu.elect.business.mandant.entity.MandantConstants.NUMMER_MIN_VALUE,
            de.ivu.elect.business.mandant.entity.MandantConstants.NUMMER_MAX_VALUE,
            de.ivu.elect.business.mandant.entity.MandantConstants.NUMMER_MAX_LENGTH
                );

        }


        return nummerProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.mandant.entity.MandantStatus>
                getStatusProperty() {
        if (statusProperty == null) {
        statusProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getStatusEinzahlMessage(),
        getMetaData().getStatusDefaultValue(),
        getMetaData().isStatusRequired(),
                entity::setStatus,
        entity::getStatus

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

        }


        return statusProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.mandant.entity.MandantStatus> getStatusMitLeererAuswahlProperty() {
               if (statusMitLeererAuswahlProperty == null) {
                 statusMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getStatusEinzahlMessage(),
        				getMetaData().getStatusDefaultValue(),
                        getMetaData().isStatusRequired(),
                        entity::setStatus,
                        entity::getStatus
                        , de.ivu.elect.business.mandant.entity.MandantStatus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.mandant.entity.MandantStatus.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return statusMitLeererAuswahlProperty;
            }
        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.system.entity.SystemGebietsebene>
                getSystemGebietsebeneProperty() {
        if (systemGebietsebeneProperty == null) {
        systemGebietsebeneProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getSystemGebietsebeneEinzahlMessage(),
        getMetaData().getSystemGebietsebeneDefaultValue(),
        getMetaData().isSystemGebietsebeneRequired(),
                entity::setSystemGebietsebene,
        entity::getSystemGebietsebene

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

        }


        return systemGebietsebeneProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.system.entity.SystemGebietsebene> getSystemGebietsebeneMitLeererAuswahlProperty() {
               if (systemGebietsebeneMitLeererAuswahlProperty == null) {
                 systemGebietsebeneMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getSystemGebietsebeneEinzahlMessage(),
        				getMetaData().getSystemGebietsebeneDefaultValue(),
                        getMetaData().isSystemGebietsebeneRequired(),
                        entity::setSystemGebietsebene,
                        entity::getSystemGebietsebene
                        , de.ivu.elect.business.system.entity.SystemGebietsebene.class,
                        java.util.Arrays.asList(de.ivu.elect.business.system.entity.SystemGebietsebene.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return systemGebietsebeneMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getVerantworteteGebieteEinzahlMessage(),
        getMetaData().getVerantworteteGebieteDefaultValue(),
        getMetaData().isVerantworteteGebieteRequired(),
                entity::setVerantworteteGebiete,
        entity::getVerantworteteGebiete

                    , 0 ,
            de.ivu.elect.business.mandant.entity.MandantConstants.VERANTWORTETE_GEBIETE_MAX_LENGTH
                );

        }


        return verantworteteGebieteProperty;
        }





        
        }