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

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

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

private final Gebietsart entity;


    
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietsartBezirksart>
                  bezirksartProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietsartBezirksart> bezirksartMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  darstellungProperty;

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietsartIcon>
                  iconProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietsartIcon> iconMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  kennzeichenProperty;

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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietSystemGebietsebene>
                  systemGebietsebeneProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietSystemGebietsebene> systemGebietsebeneMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  titelProperty;

        
    

public GebietsartProperties(Gebietsart entity) {
this.entity = entity;

}

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


    

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietsartBezirksart>
                getBezirksartProperty() {
        if (bezirksartProperty == null) {
        bezirksartProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getBezirksartEinzahlMessage(),
        getMetaData().getBezirksartDefaultValue(),
        getMetaData().isBezirksartRequired(),
                entity::setBezirksart,
        entity::getBezirksart

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

        }


        return bezirksartProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietsartBezirksart> getBezirksartMitLeererAuswahlProperty() {
               if (bezirksartMitLeererAuswahlProperty == null) {
                 bezirksartMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getBezirksartEinzahlMessage(),
        				getMetaData().getBezirksartDefaultValue(),
                        getMetaData().isBezirksartRequired(),
                        entity::setBezirksart,
                        entity::getBezirksart
                        , de.ivu.elect.business.gebietsbaum.entity.GebietsartBezirksart.class,
                        java.util.Arrays.asList(de.ivu.elect.business.gebietsbaum.entity.GebietsartBezirksart.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return bezirksartMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getDarstellungEinzahlMessage(),
        getMetaData().getDarstellungDefaultValue(),
        getMetaData().isDarstellungRequired(),
                entity::setDarstellung,
        entity::getDarstellung

                    ,  1 ,
            de.ivu.elect.business.gebietsbaum.entity.GebietsartConstants.DARSTELLUNG_MAX_LENGTH
                );

        }


        return darstellungProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietsartIcon>
                getIconProperty() {
        if (iconProperty == null) {
        iconProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getIconEinzahlMessage(),
        getMetaData().getIconDefaultValue(),
        getMetaData().isIconRequired(),
                entity::setIcon,
        entity::getIcon

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

        }


        return iconProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietsartIcon> getIconMitLeererAuswahlProperty() {
               if (iconMitLeererAuswahlProperty == null) {
                 iconMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getIconEinzahlMessage(),
        				getMetaData().getIconDefaultValue(),
                        getMetaData().isIconRequired(),
                        entity::setIcon,
                        entity::getIcon
                        , de.ivu.elect.business.gebietsbaum.entity.GebietsartIcon.class,
                        java.util.Arrays.asList(de.ivu.elect.business.gebietsbaum.entity.GebietsartIcon.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return iconMitLeererAuswahlProperty;
            }
        
        

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


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

                    , 0 ,
            de.ivu.elect.business.gebietsbaum.entity.GebietsartConstants.KENNZEICHEN_MAX_LENGTH
                );

        }


        return kennzeichenProperty;
        }





        
        

        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.gebietsbaum.entity.GebietsartConstants.NAME_MAX_LENGTH
                );

        }


        return nameProperty;
        }





        
        

        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.gebietsbaum.entity.GebietsartConstants.POSITION_MIN_VALUE,
            de.ivu.elect.business.gebietsbaum.entity.GebietsartConstants.POSITION_MAX_VALUE,
            de.ivu.elect.business.gebietsbaum.entity.GebietsartConstants.POSITION_MAX_LENGTH
                );

        }


        return positionProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.gebietsbaum.entity.GebietSystemGebietsebene>
                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.gebietsbaum.entity.GebietSystemGebietsebene.class,
            java.util.Arrays.asList(de.ivu.elect.business.gebietsbaum.entity.GebietSystemGebietsebene.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.gebietsbaum.entity.GebietSystemGebietsebene> 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.gebietsbaum.entity.GebietSystemGebietsebene.class,
                        java.util.Arrays.asList(de.ivu.elect.business.gebietsbaum.entity.GebietSystemGebietsebene.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return systemGebietsebeneMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getTitelEinzahlMessage(),
        getMetaData().getTitelDefaultValue(),
        getMetaData().isTitelRequired(),
                entity::setTitel,
        entity::getTitel

                    , 0 ,
            de.ivu.elect.business.gebietsbaum.entity.GebietsartConstants.TITEL_MAX_LENGTH
                );

        }


        return titelProperty;
        }





        
        }