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

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

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

private final Benutzer entity;


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

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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.person.entity.Geschlecht>
                  geschlechtProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.person.entity.Geschlecht> geschlechtMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaBooleanProperty
                  gesperrtProperty;

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
                  letzteAnmeldungProperty;

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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaBooleanProperty
                  mussPasswortWechselnProperty;

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

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

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

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

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

        
    

public BenutzerProperties(Benutzer entity) {
this.entity = entity;

}

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


    

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getBemerkungEinzahlMessage(),
        getMetaData().getBemerkungDefaultValue(),
        getMetaData().isBemerkungRequired(),
                entity::setBemerkung,
        entity::getBemerkung

                    , 0 ,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.BEMERKUNG_MAX_LENGTH
                );

        }


        return bemerkungProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getBenutzerkennungEinzahlMessage(),
        getMetaData().getBenutzerkennungDefaultValue(),
        getMetaData().isBenutzerkennungRequired(),
                entity::setBenutzerkennung,
        entity::getBenutzerkennung

                    ,  1 ,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.BENUTZERKENNUNG_MAX_LENGTH
                );

        }


        return benutzerkennungProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getFamiliennameEinzahlMessage(),
        getMetaData().getFamiliennameDefaultValue(),
        getMetaData().isFamiliennameRequired(),
                entity::setFamilienname,
        entity::getFamilienname

                    , 0 ,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.FAMILIENNAME_MAX_LENGTH
                );

        }


        return familiennameProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.person.entity.Geschlecht>
                getGeschlechtProperty() {
        if (geschlechtProperty == null) {
        geschlechtProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getGeschlechtEinzahlMessage(),
        getMetaData().getGeschlechtDefaultValue(),
        getMetaData().isGeschlechtRequired(),
                entity::setGeschlecht,
        entity::getGeschlecht

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

        }


        return geschlechtProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.person.entity.Geschlecht> getGeschlechtMitLeererAuswahlProperty() {
               if (geschlechtMitLeererAuswahlProperty == null) {
                 geschlechtMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getGeschlechtEinzahlMessage(),
        				getMetaData().getGeschlechtDefaultValue(),
                        getMetaData().isGeschlechtRequired(),
                        entity::setGeschlecht,
                        entity::getGeschlecht
                        , de.ivu.elect.business.person.entity.Geschlecht.class,
                        java.util.Arrays.asList(de.ivu.elect.business.person.entity.Geschlecht.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return geschlechtMitLeererAuswahlProperty;
            }
        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.AbstractBooleanProperty
                getGesperrtProperty() {
        if (gesperrtProperty == null) {
        gesperrtProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaBooleanProperty
        
        (
        getMetaData().getGesperrtEinzahlMessage(),
        getMetaData().getGesperrtDefaultValue(),
        getMetaData().isGesperrtRequired(),
                entity::setGesperrt,
        entity::getGesperrt

                );

        }


        return gesperrtProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getHotpSecretEinzahlMessage(),
        getMetaData().getHotpSecretDefaultValue(),
        getMetaData().isHotpSecretRequired(),
                entity::setHotpSecret,
        entity::getHotpSecret

                    , 0 ,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.HOTP_SECRET_MAX_LENGTH
                );

        }


        return hotpSecretProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
        
        (
        getMetaData().getLetzteAnmeldungEinzahlMessage(),
        getMetaData().getLetzteAnmeldungDefaultValue(),
        getMetaData().isLetzteAnmeldungRequired(),
                entity::setLetzteAnmeldung,
        entity::getLetzteAnmeldung

                );

        }


        return letzteAnmeldungProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getLetzteNachrichtIdEinzahlMessage(),
        getMetaData().getLetzteNachrichtIdDefaultValue(),
        getMetaData().isLetzteNachrichtIdRequired(),
                entity::setLetzteNachrichtId,
        entity::getLetzteNachrichtId

                    , de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.LETZTE_NACHRICHT_ID_MIN_VALUE,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.LETZTE_NACHRICHT_ID_MAX_VALUE,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.LETZTE_NACHRICHT_ID_MAX_LENGTH
                );

        }


        return letzteNachrichtIdProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getLoginVersucheEinzahlMessage(),
        getMetaData().getLoginVersucheDefaultValue(),
        getMetaData().isLoginVersucheRequired(),
                entity::setLoginVersuche,
        entity::getLoginVersuche

                    , de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.LOGINVERSUCHE_MIN_VALUE,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.LOGINVERSUCHE_MAX_VALUE,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.LOGINVERSUCHE_MAX_LENGTH
                );

        }


        return loginVersucheProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.AbstractBooleanProperty
                getMussPasswortWechselnProperty() {
        if (mussPasswortWechselnProperty == null) {
        mussPasswortWechselnProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaBooleanProperty
        
        (
        getMetaData().getMussPasswortWechselnEinzahlMessage(),
        getMetaData().getMussPasswortWechselnDefaultValue(),
        getMetaData().isMussPasswortWechselnRequired(),
                entity::setMussPasswortWechseln,
        entity::getMussPasswortWechseln

                );

        }


        return mussPasswortWechselnProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getPasswortEinzahlMessage(),
        getMetaData().getPasswortDefaultValue(),
        getMetaData().isPasswortRequired(),
                entity::setPasswort,
        entity::getPasswort

                    ,  1 ,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.PASSWORT_MAX_LENGTH
                );

        }


        return passwortProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getProtokollaliasEinzahlMessage(),
        getMetaData().getProtokollaliasDefaultValue(),
        getMetaData().isProtokollaliasRequired(),
                entity::setProtokollalias,
        entity::getProtokollalias

                    , 0 ,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.PROTOKOLLALIAS_MAX_LENGTH
                );

        }


        return protokollaliasProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getSaltEinzahlMessage(),
        getMetaData().getSaltDefaultValue(),
        getMetaData().isSaltRequired(),
                entity::setSalt,
        entity::getSalt

                    ,  1 ,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.SALT_MAX_LENGTH
                );

        }


        return saltProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getTanlisteEinzahlMessage(),
        getMetaData().getTanlisteDefaultValue(),
        getMetaData().isTanlisteRequired(),
                entity::setTanliste,
        entity::getTanliste

                    , 0 ,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.TANLISTE_MAX_LENGTH
                );

        }


        return tanlisteProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getVornameEinzahlMessage(),
        getMetaData().getVornameDefaultValue(),
        getMetaData().isVornameRequired(),
                entity::setVorname,
        entity::getVorname

                    , 0 ,
            de.ivu.elect.business.benutzerverwaltung.entity.BenutzerConstants.VORNAME_MAX_LENGTH
                );

        }


        return vornameProperty;
        }





        
        }