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

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

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

private final WvpBenutzer entity;


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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatenportal.entity.WvpBenutzerStatus>
                  wvpBenutzerStatusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatenportal.entity.WvpBenutzerStatus> wvpBenutzerStatusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  wvpNameGebietProperty;

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

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

        
    

public WvpBenutzerProperties(WvpBenutzer entity) {
super(entity);
this.entity = entity;

}

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


    

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getWvpBenutzerkennungEinzahlMessage(),
        getMetaData().getWvpBenutzerkennungDefaultValue(),
        getMetaData().isWvpBenutzerkennungRequired(),
                entity::setWvpBenutzerkennung,
        entity::getWvpBenutzerkennung

                    ,  1 ,
            de.ivu.elect.business.kandidatenportal.entity.WvpBenutzerConstants.WVP_BENUTZERKENNUNG_MAX_LENGTH
                );

        }


        return wvpBenutzerkennungProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatenportal.entity.WvpBenutzerStatus>
                getWvpBenutzerStatusProperty() {
        if (wvpBenutzerStatusProperty == null) {
        wvpBenutzerStatusProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getWvpBenutzerStatusEinzahlMessage(),
        getMetaData().getWvpBenutzerStatusDefaultValue(),
        getMetaData().isWvpBenutzerStatusRequired(),
                entity::setWvpBenutzerStatus,
        entity::getWvpBenutzerStatus

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

        }


        return wvpBenutzerStatusProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.kandidatenportal.entity.WvpBenutzerStatus> getWvpBenutzerStatusMitLeererAuswahlProperty() {
               if (wvpBenutzerStatusMitLeererAuswahlProperty == null) {
                 wvpBenutzerStatusMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getWvpBenutzerStatusEinzahlMessage(),
        				getMetaData().getWvpBenutzerStatusDefaultValue(),
                        getMetaData().isWvpBenutzerStatusRequired(),
                        entity::setWvpBenutzerStatus,
                        entity::getWvpBenutzerStatus
                        , de.ivu.elect.business.kandidatenportal.entity.WvpBenutzerStatus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.kandidatenportal.entity.WvpBenutzerStatus.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return wvpBenutzerStatusMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getWvpNameGebietEinzahlMessage(),
        getMetaData().getWvpNameGebietDefaultValue(),
        getMetaData().isWvpNameGebietRequired(),
                entity::setWvpNameGebiet,
        entity::getWvpNameGebiet

                    , 0 ,
            de.ivu.elect.business.kandidatenportal.entity.WvpBenutzerConstants.WVP_NAME_GEBIET_MAX_LENGTH
                );

        }


        return wvpNameGebietProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getWvpNamePolitischeGruppeEinzahlMessage(),
        getMetaData().getWvpNamePolitischeGruppeDefaultValue(),
        getMetaData().isWvpNamePolitischeGruppeRequired(),
                entity::setWvpNamePolitischeGruppe,
        entity::getWvpNamePolitischeGruppe

                    , 0 ,
            de.ivu.elect.business.kandidatenportal.entity.WvpBenutzerConstants.WVP_NAME_POLITISCHE_GRUPPE_MAX_LENGTH
                );

        }


        return wvpNamePolitischeGruppeProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getZugriffscodeEinzahlMessage(),
        getMetaData().getZugriffscodeDefaultValue(),
        getMetaData().isZugriffscodeRequired(),
                entity::setZugriffscode,
        entity::getZugriffscode

                    , 0 ,
            de.ivu.elect.business.kandidatenportal.entity.WvpBenutzerConstants.ZUGRIFFSCODE_MAX_LENGTH
                );

        }


        return zugriffscodeProperty;
        }





        
        }