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

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

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

private final PersonendatenDateiExport 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
                  dateinameProperty;

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.exchange.entity.DateiExportArt>
                  dateiArtProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.exchange.entity.DateiExportArt> dateiArtMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.dokumente.entity.DokumentVorlageArt>
                  dokumentVorlageArtProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.dokumente.entity.DokumentVorlageArt> dokumentVorlageArtMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  dokumentVorlageDateinameProperty;

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

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

        
    

public PersonendatenDateiExportProperties(PersonendatenDateiExport entity) {
this.entity = entity;

}

private static PersonendatenDateiExportMeta getMetaData() {
return de.ivu.elect.jee.cdi.BeanManagerUtil.getBeanByClass( PersonendatenDateiExportMeta.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.person.entity.PersonendatenDateiExportConstants.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.person.entity.PersonendatenDateiExportConstants.BENUTZERKENNUNG_MAX_LENGTH
                );

        }


        return benutzerkennungProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getDateinameEinzahlMessage(),
        getMetaData().getDateinameDefaultValue(),
        getMetaData().isDateinameRequired(),
                entity::setDateiname,
        entity::getDateiname

                    ,  1 ,
            de.ivu.elect.business.person.entity.PersonendatenDateiExportConstants.DATEINAME_MAX_LENGTH
                );

        }


        return dateinameProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.exchange.entity.DateiExportArt>
                getDateiArtProperty() {
        if (dateiArtProperty == null) {
        dateiArtProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getDateiArtEinzahlMessage(),
        getMetaData().getDateiArtDefaultValue(),
        getMetaData().isDateiArtRequired(),
                entity::setDateiArt,
        entity::getDateiArt

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

        }


        return dateiArtProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.exchange.entity.DateiExportArt> getDateiArtMitLeererAuswahlProperty() {
               if (dateiArtMitLeererAuswahlProperty == null) {
                 dateiArtMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getDateiArtEinzahlMessage(),
        				getMetaData().getDateiArtDefaultValue(),
                        getMetaData().isDateiArtRequired(),
                        entity::setDateiArt,
                        entity::getDateiArt
                        , de.ivu.elect.business.exchange.entity.DateiExportArt.class,
                        java.util.Arrays.asList(de.ivu.elect.business.exchange.entity.DateiExportArt.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return dateiArtMitLeererAuswahlProperty;
            }
        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.dokumente.entity.DokumentVorlageArt>
                getDokumentVorlageArtProperty() {
        if (dokumentVorlageArtProperty == null) {
        dokumentVorlageArtProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getDokumentVorlageArtEinzahlMessage(),
        getMetaData().getDokumentVorlageArtDefaultValue(),
        getMetaData().isDokumentVorlageArtRequired(),
                entity::setDokumentVorlageArt,
        entity::getDokumentVorlageArt

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

        }


        return dokumentVorlageArtProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.dokumente.entity.DokumentVorlageArt> getDokumentVorlageArtMitLeererAuswahlProperty() {
               if (dokumentVorlageArtMitLeererAuswahlProperty == null) {
                 dokumentVorlageArtMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getDokumentVorlageArtEinzahlMessage(),
        				getMetaData().getDokumentVorlageArtDefaultValue(),
                        getMetaData().isDokumentVorlageArtRequired(),
                        entity::setDokumentVorlageArt,
                        entity::getDokumentVorlageArt
                        , de.ivu.elect.business.dokumente.entity.DokumentVorlageArt.class,
                        java.util.Arrays.asList(de.ivu.elect.business.dokumente.entity.DokumentVorlageArt.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return dokumentVorlageArtMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getDokumentVorlageDateinameEinzahlMessage(),
        getMetaData().getDokumentVorlageDateinameDefaultValue(),
        getMetaData().isDokumentVorlageDateinameRequired(),
                entity::setDokumentVorlageDateiname,
        entity::getDokumentVorlageDateiname

                    , 0 ,
            de.ivu.elect.business.person.entity.PersonendatenDateiExportConstants.DOKUMENT_VORLAGE_DATEINAME_MAX_LENGTH
                );

        }


        return dokumentVorlageDateinameProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getDokumentVorlageNameEinzahlMessage(),
        getMetaData().getDokumentVorlageNameDefaultValue(),
        getMetaData().isDokumentVorlageNameRequired(),
                entity::setDokumentVorlageName,
        entity::getDokumentVorlageName

                    , 0 ,
            de.ivu.elect.business.person.entity.PersonendatenDateiExportConstants.DOKUMENT_VORLAGE_NAME_MAX_LENGTH
                );

        }


        return dokumentVorlageNameProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
        
        (
        getMetaData().getErstellungszeitpunktEinzahlMessage(),
        getMetaData().getErstellungszeitpunktDefaultValue(),
        getMetaData().isErstellungszeitpunktRequired(),
                entity::setErstellungszeitpunkt,
        entity::getErstellungszeitpunkt

                );

        }


        return erstellungszeitpunktProperty;
        }





        
        }