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

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

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

private final Wahlvorschlag entity;


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

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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahlvorschlag.entity.PrivilegierungsTyp>
                  privilegierungsTypProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahlvorschlag.entity.PrivilegierungsTyp> privilegierungsTypMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaDateProperty
                  unterstuetzerErfassbarAbProperty;

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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagStatus>
                  wahlvorschlagStatusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagStatus> wahlvorschlagStatusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
                  zeitpunktDerEinreichungProperty;

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

        
    

public WahlvorschlagProperties(Wahlvorschlag entity) {
this.entity = entity;

}

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


    

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getDiscriminatorEinzahlMessage(),
        getMetaData().getDiscriminatorDefaultValue(),
        getMetaData().isDiscriminatorRequired(),
                entity::setDiscriminator,
        entity::getDiscriminator

                    , 0 ,
            de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagConstants.DISCRIMINATOR_MAX_LENGTH
                );

        }


        return discriminatorProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getKennwortEinzahlMessage(),
        getMetaData().getKennwortDefaultValue(),
        getMetaData().isKennwortRequired(),
                entity::setKennwort,
        entity::getKennwort

                    , 0 ,
            de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagConstants.KENNWORT_MAX_LENGTH
                );

        }


        return kennwortProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getKurznameEinzahlMessage(),
        getMetaData().getKurznameDefaultValue(),
        getMetaData().isKurznameRequired(),
                entity::setKurzname,
        entity::getKurzname

                    , 0 ,
            de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagConstants.KURZNAME_MAX_LENGTH
                );

        }


        return kurznameProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahlvorschlag.entity.PrivilegierungsTyp>
                getPrivilegierungsTypProperty() {
        if (privilegierungsTypProperty == null) {
        privilegierungsTypProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getPrivilegierungsTypEinzahlMessage(),
        getMetaData().getPrivilegierungsTypDefaultValue(),
        getMetaData().isPrivilegierungsTypRequired(),
                entity::setPrivilegierungsTyp,
        entity::getPrivilegierungsTyp

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

        }


        return privilegierungsTypProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahlvorschlag.entity.PrivilegierungsTyp> getPrivilegierungsTypMitLeererAuswahlProperty() {
               if (privilegierungsTypMitLeererAuswahlProperty == null) {
                 privilegierungsTypMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getPrivilegierungsTypEinzahlMessage(),
        				getMetaData().getPrivilegierungsTypDefaultValue(),
                        getMetaData().isPrivilegierungsTypRequired(),
                        entity::setPrivilegierungsTyp,
                        entity::getPrivilegierungsTyp
                        , de.ivu.elect.business.wahlvorschlag.entity.PrivilegierungsTyp.class,
                        java.util.Arrays.asList(de.ivu.elect.business.wahlvorschlag.entity.PrivilegierungsTyp.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return privilegierungsTypMitLeererAuswahlProperty;
            }
        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.AbstractDateProperty
                getUnterstuetzerErfassbarAbProperty() {
        if (unterstuetzerErfassbarAbProperty == null) {
        unterstuetzerErfassbarAbProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaDateProperty
        
        (
        getMetaData().getUnterstuetzerErfassbarAbEinzahlMessage(),
        getMetaData().getUnterstuetzerErfassbarAbDefaultValue(),
        getMetaData().isUnterstuetzerErfassbarAbRequired(),
                entity::setUnterstuetzerErfassbarAb,
        entity::getUnterstuetzerErfassbarAb

                );

        }


        return unterstuetzerErfassbarAbProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getAnzahlUnterstuetzerGeeignetErfasstExternEinzahlMessage(),
        getMetaData().getAnzahlUnterstuetzerGeeignetErfasstExternDefaultValue(),
        getMetaData().isAnzahlUnterstuetzerGeeignetErfasstExternRequired(),
                entity::setAnzahlUnterstuetzerGeeignetErfasstExtern,
        entity::getAnzahlUnterstuetzerGeeignetErfasstExtern

                    , de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagConstants.UNTERSTUETZER_EXTERN_GUELTIG_MIN_VALUE,
            de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagConstants.UNTERSTUETZER_EXTERN_GUELTIG_MAX_VALUE,
            de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagConstants.UNTERSTUETZER_EXTERN_GUELTIG_MAX_LENGTH
                );

        }


        return anzahlUnterstuetzerGeeignetErfasstExternProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getAnzahlUnterstuetzerNichtGeeignetErfasstExternEinzahlMessage(),
        getMetaData().getAnzahlUnterstuetzerNichtGeeignetErfasstExternDefaultValue(),
        getMetaData().isAnzahlUnterstuetzerNichtGeeignetErfasstExternRequired(),
                entity::setAnzahlUnterstuetzerNichtGeeignetErfasstExtern,
        entity::getAnzahlUnterstuetzerNichtGeeignetErfasstExtern

                    , de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagConstants.UNTERSTUETZER_EXTERN_UNGUELTIG_MIN_VALUE,
            de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagConstants.UNTERSTUETZER_EXTERN_UNGUELTIG_MAX_VALUE,
            de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagConstants.UNTERSTUETZER_EXTERN_UNGUELTIG_MAX_LENGTH
                );

        }


        return anzahlUnterstuetzerNichtGeeignetErfasstExternProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagStatus>
                getWahlvorschlagStatusProperty() {
        if (wahlvorschlagStatusProperty == null) {
        wahlvorschlagStatusProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getWahlvorschlagStatusEinzahlMessage(),
        getMetaData().getWahlvorschlagStatusDefaultValue(),
        getMetaData().isWahlvorschlagStatusRequired(),
                entity::setWahlvorschlagStatus,
        entity::getWahlvorschlagStatus

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

        }


        return wahlvorschlagStatusProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagStatus> getWahlvorschlagStatusMitLeererAuswahlProperty() {
               if (wahlvorschlagStatusMitLeererAuswahlProperty == null) {
                 wahlvorschlagStatusMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getWahlvorschlagStatusEinzahlMessage(),
        				getMetaData().getWahlvorschlagStatusDefaultValue(),
                        getMetaData().isWahlvorschlagStatusRequired(),
                        entity::setWahlvorschlagStatus,
                        entity::getWahlvorschlagStatus
                        , de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagStatus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagStatus.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return wahlvorschlagStatusMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
        
        (
        getMetaData().getZeitpunktDerEinreichungEinzahlMessage(),
        getMetaData().getZeitpunktDerEinreichungDefaultValue(),
        getMetaData().isZeitpunktDerEinreichungRequired(),
                entity::setZeitpunktDerEinreichung,
        entity::getZeitpunktDerEinreichung

                );

        }


        return zeitpunktDerEinreichungProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getZusatzbezeichnungEinzahlMessage(),
        getMetaData().getZusatzbezeichnungDefaultValue(),
        getMetaData().isZusatzbezeichnungRequired(),
                entity::setZusatzbezeichnung,
        entity::getZusatzbezeichnung

                    , 0 ,
            de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagConstants.ZUSATZBEZEICHNUNG_MAX_LENGTH
                );

        }


        return zusatzbezeichnungProperty;
        }





        
        }