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

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

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

private final DateiImport entity;


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

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.exchange.entity.DateiImportArt> dateiArtMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
                  importiertAmProperty;

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.exchange.entity.ImportStatus>
                  importStatusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.exchange.entity.ImportStatus> importStatusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  kommentarProperty;

        
    

public DateiImportProperties(DateiImport entity) {
this.entity = entity;

}

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


    

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.exchange.entity.DateiImportArt>
                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.DateiImportArt.class,
            java.util.Arrays.asList(de.ivu.elect.business.exchange.entity.DateiImportArt.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.DateiImportArt> 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.DateiImportArt.class,
                        java.util.Arrays.asList(de.ivu.elect.business.exchange.entity.DateiImportArt.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return dateiArtMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
        
        (
        getMetaData().getImportiertAmEinzahlMessage(),
        getMetaData().getImportiertAmDefaultValue(),
        getMetaData().isImportiertAmRequired(),
                entity::setImportiertAm,
        entity::getImportiertAm

                );

        }


        return importiertAmProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.exchange.entity.ImportStatus>
                getImportStatusProperty() {
        if (importStatusProperty == null) {
        importStatusProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getImportStatusEinzahlMessage(),
        getMetaData().getImportStatusDefaultValue(),
        getMetaData().isImportStatusRequired(),
                entity::setImportStatus,
        entity::getImportStatus

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

        }


        return importStatusProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.exchange.entity.ImportStatus> getImportStatusMitLeererAuswahlProperty() {
               if (importStatusMitLeererAuswahlProperty == null) {
                 importStatusMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getImportStatusEinzahlMessage(),
        				getMetaData().getImportStatusDefaultValue(),
                        getMetaData().isImportStatusRequired(),
                        entity::setImportStatus,
                        entity::getImportStatus
                        , de.ivu.elect.business.exchange.entity.ImportStatus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.exchange.entity.ImportStatus.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return importStatusMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getKommentarEinzahlMessage(),
        getMetaData().getKommentarDefaultValue(),
        getMetaData().isKommentarRequired(),
                entity::setKommentar,
        entity::getKommentar

                    , 0 ,
            de.ivu.elect.business.datei.entity.DateiImportConstants.KOMMENTAR_MAX_LENGTH
                );

        }


        return kommentarProperty;
        }





        
        }