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

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

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

private final StimmeingabePlausiKonfiguration entity;


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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiErgebniseingangsart>
                  ergebniseingangsartProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiErgebniseingangsart> ergebniseingangsartMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiFehlerart>
                  fehlerartProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiFehlerart> fehlerartMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  fehlermeldungFormatProperty;

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiGebietsart>
                  gebietsartProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiGebietsart> gebietsartMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiStatus>
                  statusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiStatus> statusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiTyp>
                  typProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiTyp> typMitLeererAuswahlProperty;
        
    

public StimmeingabePlausiKonfigurationProperties(StimmeingabePlausiKonfiguration entity) {
this.entity = entity;

}

private static StimmeingabePlausiKonfigurationMeta getMetaData() {
return de.ivu.elect.jee.cdi.BeanManagerUtil.getBeanByClass( StimmeingabePlausiKonfigurationMeta.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.stimmeingabe.entity.StimmeingabePlausiKonfigurationConstants.BESCHREIBUNG_MAX_LENGTH
                );

        }


        return beschreibungProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiErgebniseingangsart>
                getErgebniseingangsartProperty() {
        if (ergebniseingangsartProperty == null) {
        ergebniseingangsartProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getErgebniseingangsartEinzahlMessage(),
        getMetaData().getErgebniseingangsartDefaultValue(),
        getMetaData().isErgebniseingangsartRequired(),
                entity::setErgebniseingangsart,
        entity::getErgebniseingangsart

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

        }


        return ergebniseingangsartProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiErgebniseingangsart> getErgebniseingangsartMitLeererAuswahlProperty() {
               if (ergebniseingangsartMitLeererAuswahlProperty == null) {
                 ergebniseingangsartMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getErgebniseingangsartEinzahlMessage(),
        				getMetaData().getErgebniseingangsartDefaultValue(),
                        getMetaData().isErgebniseingangsartRequired(),
                        entity::setErgebniseingangsart,
                        entity::getErgebniseingangsart
                        , de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiErgebniseingangsart.class,
                        java.util.Arrays.asList(de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiErgebniseingangsart.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return ergebniseingangsartMitLeererAuswahlProperty;
            }
        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiFehlerart>
                getFehlerartProperty() {
        if (fehlerartProperty == null) {
        fehlerartProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getFehlerartEinzahlMessage(),
        getMetaData().getFehlerartDefaultValue(),
        getMetaData().isFehlerartRequired(),
                entity::setFehlerart,
        entity::getFehlerart

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

        }


        return fehlerartProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiFehlerart> getFehlerartMitLeererAuswahlProperty() {
               if (fehlerartMitLeererAuswahlProperty == null) {
                 fehlerartMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getFehlerartEinzahlMessage(),
        				getMetaData().getFehlerartDefaultValue(),
                        getMetaData().isFehlerartRequired(),
                        entity::setFehlerart,
                        entity::getFehlerart
                        , de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiFehlerart.class,
                        java.util.Arrays.asList(de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiFehlerart.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return fehlerartMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getFehlermeldungFormatEinzahlMessage(),
        getMetaData().getFehlermeldungFormatDefaultValue(),
        getMetaData().isFehlermeldungFormatRequired(),
                entity::setFehlermeldungFormat,
        entity::getFehlermeldungFormat

                    , 0 ,
            de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiKonfigurationConstants.PLAUSI_FEHLERMELDUNG_MAX_LENGTH
                );

        }


        return fehlermeldungFormatProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getFehlerschluesselEinzahlMessage(),
        getMetaData().getFehlerschluesselDefaultValue(),
        getMetaData().isFehlerschluesselRequired(),
                entity::setFehlerschluessel,
        entity::getFehlerschluessel

                    , 0 ,
            de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiKonfigurationConstants.PLAUSI_FEHLERSCHLUESSEL_MAX_LENGTH
                );

        }


        return fehlerschluesselProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiGebietsart>
                getGebietsartProperty() {
        if (gebietsartProperty == null) {
        gebietsartProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getGebietsartEinzahlMessage(),
        getMetaData().getGebietsartDefaultValue(),
        getMetaData().isGebietsartRequired(),
                entity::setGebietsart,
        entity::getGebietsart

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

        }


        return gebietsartProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiGebietsart> getGebietsartMitLeererAuswahlProperty() {
               if (gebietsartMitLeererAuswahlProperty == null) {
                 gebietsartMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getGebietsartEinzahlMessage(),
        				getMetaData().getGebietsartDefaultValue(),
                        getMetaData().isGebietsartRequired(),
                        entity::setGebietsart,
                        entity::getGebietsart
                        , de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiGebietsart.class,
                        java.util.Arrays.asList(de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiGebietsart.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return gebietsartMitLeererAuswahlProperty;
            }
        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiStatus>
                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.stimmeingabe.entity.StimmeingabePlausiStatus.class,
            java.util.Arrays.asList(de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiStatus.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.stimmeingabe.entity.StimmeingabePlausiStatus> 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.stimmeingabe.entity.StimmeingabePlausiStatus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiStatus.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.stimmeingabe.entity.StimmeingabePlausiTyp>
                getTypProperty() {
        if (typProperty == null) {
        typProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getTypEinzahlMessage(),
        getMetaData().getTypDefaultValue(),
        getMetaData().isTypRequired(),
                entity::setTyp,
        entity::getTyp

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

        }


        return typProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiTyp> getTypMitLeererAuswahlProperty() {
               if (typMitLeererAuswahlProperty == null) {
                 typMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getTypEinzahlMessage(),
        				getMetaData().getTypDefaultValue(),
                        getMetaData().isTypRequired(),
                        entity::setTyp,
                        entity::getTyp
                        , de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiTyp.class,
                        java.util.Arrays.asList(de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiTyp.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return typMitLeererAuswahlProperty;
            }
        
        }