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

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

@javax.enterprise.inject.Vetoed
public class KandidaturProperties
extends de.ivu.elect.business.person.entity.PersonendatenProperties
{

private final Kandidatur entity;


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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.KandidaturQuelle>
                  kandidaturQuelleProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.KandidaturQuelle> kandidaturQuelleMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.KandidaturStatus>
                  kandidaturStatusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.KandidaturStatus> kandidaturStatusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  namePraesentationProperty;

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.Waehlbarkeit>
                  waehlbarProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.Waehlbarkeit> waehlbarMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  wohnortPraesentationProperty;

        
    

public KandidaturProperties(Kandidatur entity) {
super(entity);
this.entity = entity;

}

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


    

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getBerufPraesentationEinzahlMessage(),
        getMetaData().getBerufPraesentationDefaultValue(),
        getMetaData().isBerufPraesentationRequired(),
                entity::setBerufPraesentation,
        entity::getBerufPraesentation

                    , 0 ,
            de.ivu.elect.business.kandidatur.entity.KandidaturConstants.BERUF_PRAESENTATION_MAX_LENGTH
                );

        }


        return berufPraesentationProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getGeburtsortPraesentationEinzahlMessage(),
        getMetaData().getGeburtsortPraesentationDefaultValue(),
        getMetaData().isGeburtsortPraesentationRequired(),
                entity::setGeburtsortPraesentation,
        entity::getGeburtsortPraesentation

                    , 0 ,
            de.ivu.elect.business.kandidatur.entity.KandidaturConstants.GEBURTSORT_PRAESENTATION_MAX_LENGTH
                );

        }


        return geburtsortPraesentationProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.KandidaturQuelle>
                getKandidaturQuelleProperty() {
        if (kandidaturQuelleProperty == null) {
        kandidaturQuelleProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getKandidaturQuelleEinzahlMessage(),
        getMetaData().getKandidaturQuelleDefaultValue(),
        getMetaData().isKandidaturQuelleRequired(),
                entity::setKandidaturQuelle,
        entity::getKandidaturQuelle

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

        }


        return kandidaturQuelleProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.KandidaturQuelle> getKandidaturQuelleMitLeererAuswahlProperty() {
               if (kandidaturQuelleMitLeererAuswahlProperty == null) {
                 kandidaturQuelleMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getKandidaturQuelleEinzahlMessage(),
        				getMetaData().getKandidaturQuelleDefaultValue(),
                        getMetaData().isKandidaturQuelleRequired(),
                        entity::setKandidaturQuelle,
                        entity::getKandidaturQuelle
                        , de.ivu.elect.business.kandidatur.entity.KandidaturQuelle.class,
                        java.util.Arrays.asList(de.ivu.elect.business.kandidatur.entity.KandidaturQuelle.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return kandidaturQuelleMitLeererAuswahlProperty;
            }
        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.KandidaturStatus>
                getKandidaturStatusProperty() {
        if (kandidaturStatusProperty == null) {
        kandidaturStatusProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getKandidaturStatusEinzahlMessage(),
        getMetaData().getKandidaturStatusDefaultValue(),
        getMetaData().isKandidaturStatusRequired(),
                entity::setKandidaturStatus,
        entity::getKandidaturStatus

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

        }


        return kandidaturStatusProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.KandidaturStatus> getKandidaturStatusMitLeererAuswahlProperty() {
               if (kandidaturStatusMitLeererAuswahlProperty == null) {
                 kandidaturStatusMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getKandidaturStatusEinzahlMessage(),
        				getMetaData().getKandidaturStatusDefaultValue(),
                        getMetaData().isKandidaturStatusRequired(),
                        entity::setKandidaturStatus,
                        entity::getKandidaturStatus
                        , de.ivu.elect.business.kandidatur.entity.KandidaturStatus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.kandidatur.entity.KandidaturStatus.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return kandidaturStatusMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getNamePraesentationEinzahlMessage(),
        getMetaData().getNamePraesentationDefaultValue(),
        getMetaData().isNamePraesentationRequired(),
                entity::setNamePraesentation,
        entity::getNamePraesentation

                    , 0 ,
            de.ivu.elect.business.kandidatur.entity.KandidaturConstants.NAME_PRAESENTATION_MAX_LENGTH
                );

        }


        return namePraesentationProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.Waehlbarkeit>
                getWaehlbarProperty() {
        if (waehlbarProperty == null) {
        waehlbarProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getWaehlbarEinzahlMessage(),
        getMetaData().getWaehlbarDefaultValue(),
        getMetaData().isWaehlbarRequired(),
                entity::setWaehlbar,
        entity::getWaehlbar

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

        }


        return waehlbarProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatur.entity.Waehlbarkeit> getWaehlbarMitLeererAuswahlProperty() {
               if (waehlbarMitLeererAuswahlProperty == null) {
                 waehlbarMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getWaehlbarEinzahlMessage(),
        				getMetaData().getWaehlbarDefaultValue(),
                        getMetaData().isWaehlbarRequired(),
                        entity::setWaehlbar,
                        entity::getWaehlbar
                        , de.ivu.elect.business.kandidatur.entity.Waehlbarkeit.class,
                        java.util.Arrays.asList(de.ivu.elect.business.kandidatur.entity.Waehlbarkeit.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return waehlbarMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getWohnortPraesentationEinzahlMessage(),
        getMetaData().getWohnortPraesentationDefaultValue(),
        getMetaData().isWohnortPraesentationRequired(),
                entity::setWohnortPraesentation,
        entity::getWohnortPraesentation

                    , 0 ,
            de.ivu.elect.business.kandidatur.entity.KandidaturConstants.WOHNORT_PRAESENTATION_MAX_LENGTH
                );

        }


        return wohnortPraesentationProperty;
        }





        
        }