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

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

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

private final InternetWidget entity;


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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.internet.entity.InternetWidgetBreite>
                  breiteProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.internet.entity.InternetWidgetBreite> breiteMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  identifierProperty;

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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.internet.entity.InternetWidgetStatus>
                  statusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.internet.entity.InternetWidgetStatus> statusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.internet.entity.InternetWidgetTyp>
                  widgetTypProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.internet.entity.InternetWidgetTyp> widgetTypMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
                  zeileProperty;

        
    

public InternetWidgetProperties(InternetWidget entity) {
this.entity = entity;

}

private static InternetWidgetMeta getMetaData() {
return de.ivu.elect.jee.cdi.BeanManagerUtil.getBeanByClass( InternetWidgetMeta.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

                    , 0 ,
            de.ivu.elect.business.internet.entity.InternetWidgetConstants.BESCHREIBUNG_MAX_LENGTH
                );

        }


        return beschreibungProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.internet.entity.InternetWidgetBreite>
                getBreiteProperty() {
        if (breiteProperty == null) {
        breiteProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getBreiteEinzahlMessage(),
        getMetaData().getBreiteDefaultValue(),
        getMetaData().isBreiteRequired(),
                entity::setBreite,
        entity::getBreite

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

        }


        return breiteProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.internet.entity.InternetWidgetBreite> getBreiteMitLeererAuswahlProperty() {
               if (breiteMitLeererAuswahlProperty == null) {
                 breiteMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getBreiteEinzahlMessage(),
        				getMetaData().getBreiteDefaultValue(),
                        getMetaData().isBreiteRequired(),
                        entity::setBreite,
                        entity::getBreite
                        , de.ivu.elect.business.internet.entity.InternetWidgetBreite.class,
                        java.util.Arrays.asList(de.ivu.elect.business.internet.entity.InternetWidgetBreite.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return breiteMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getIdentifierEinzahlMessage(),
        getMetaData().getIdentifierDefaultValue(),
        getMetaData().isIdentifierRequired(),
                entity::setIdentifier,
        entity::getIdentifier

                    , 0 ,
            de.ivu.elect.business.internet.entity.InternetWidgetConstants.IDENTIFIER_MAX_LENGTH
                );

        }


        return identifierProperty;
        }





        
        

        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.internet.entity.InternetWidgetConstants.POSITION_MIN_VALUE
            ,de.ivu.elect.business.internet.entity.InternetWidgetConstants.POSITION_MAX_VALUE
                           );

        }


        return positionProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getSprungmarkeEinzahlMessage(),
        getMetaData().getSprungmarkeDefaultValue(),
        getMetaData().isSprungmarkeRequired(),
                entity::setSprungmarke,
        entity::getSprungmarke

                    , 0 ,
            de.ivu.elect.business.internet.entity.InternetWidgetConstants.SPRUNGMARKE_MAX_LENGTH
                );

        }


        return sprungmarkeProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.internet.entity.InternetWidgetStatus>
                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.internet.entity.InternetWidgetStatus.class,
            java.util.Arrays.asList(de.ivu.elect.business.internet.entity.InternetWidgetStatus.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.internet.entity.InternetWidgetStatus> 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.internet.entity.InternetWidgetStatus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.internet.entity.InternetWidgetStatus.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.internet.entity.InternetWidgetTyp>
                getWidgetTypProperty() {
        if (widgetTypProperty == null) {
        widgetTypProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getWidgetTypEinzahlMessage(),
        getMetaData().getWidgetTypDefaultValue(),
        getMetaData().isWidgetTypRequired(),
                entity::setWidgetTyp,
        entity::getWidgetTyp

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

        }


        return widgetTypProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.internet.entity.InternetWidgetTyp> getWidgetTypMitLeererAuswahlProperty() {
               if (widgetTypMitLeererAuswahlProperty == null) {
                 widgetTypMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getWidgetTypEinzahlMessage(),
        				getMetaData().getWidgetTypDefaultValue(),
                        getMetaData().isWidgetTypRequired(),
                        entity::setWidgetTyp,
                        entity::getWidgetTyp
                        , de.ivu.elect.business.internet.entity.InternetWidgetTyp.class,
                        java.util.Arrays.asList(de.ivu.elect.business.internet.entity.InternetWidgetTyp.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return widgetTypMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getZeileEinzahlMessage(),
        getMetaData().getZeileDefaultValue(),
        getMetaData().isZeileRequired(),
                entity::setZeile,
        entity::getZeile

                    ,de.ivu.elect.business.internet.entity.InternetWidgetConstants.ZEILE_MIN_VALUE
            ,de.ivu.elect.business.internet.entity.InternetWidgetConstants.ZEILE_MAX_VALUE
                           );

        }


        return zeileProperty;
        }





        
        }