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

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

@javax.enterprise.inject.Vetoed
public class CsvDateiProperties
extends de.ivu.elect.business.datei.entity.DateiProperties
{

private final CsvDatei entity;


    
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvAnfuehrungszeichen>
                  anfuehrungszeichenProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvAnfuehrungszeichen> anfuehrungszeichenMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
                  anzahlKopfzeilenProperty;

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvTrennzeichen>
                  trennzeichenProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvTrennzeichen> trennzeichenMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvZeichensatz>
                  zeichensatzProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvZeichensatz> zeichensatzMitLeererAuswahlProperty;
        
    

public CsvDateiProperties(CsvDatei entity) {
super(entity);
this.entity = entity;

}

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


    

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvAnfuehrungszeichen>
                getAnfuehrungszeichenProperty() {
        if (anfuehrungszeichenProperty == null) {
        anfuehrungszeichenProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getAnfuehrungszeichenEinzahlMessage(),
        getMetaData().getAnfuehrungszeichenDefaultValue(),
        getMetaData().isAnfuehrungszeichenRequired(),
                entity::setAnfuehrungszeichen,
        entity::getAnfuehrungszeichen

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

        }


        return anfuehrungszeichenProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvAnfuehrungszeichen> getAnfuehrungszeichenMitLeererAuswahlProperty() {
               if (anfuehrungszeichenMitLeererAuswahlProperty == null) {
                 anfuehrungszeichenMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getAnfuehrungszeichenEinzahlMessage(),
        				getMetaData().getAnfuehrungszeichenDefaultValue(),
                        getMetaData().isAnfuehrungszeichenRequired(),
                        entity::setAnfuehrungszeichen,
                        entity::getAnfuehrungszeichen
                        , de.ivu.elect.business.datei.entity.CsvAnfuehrungszeichen.class,
                        java.util.Arrays.asList(de.ivu.elect.business.datei.entity.CsvAnfuehrungszeichen.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return anfuehrungszeichenMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getAnzahlKopfzeilenEinzahlMessage(),
        getMetaData().getAnzahlKopfzeilenDefaultValue(),
        getMetaData().isAnzahlKopfzeilenRequired(),
                entity::setAnzahlKopfzeilen,
        entity::getAnzahlKopfzeilen

                    , de.ivu.elect.business.datei.entity.CsvDateiConstants.ANZAHL_KOPFZEILEN_MIN_VALUE,
            de.ivu.elect.business.datei.entity.CsvDateiConstants.ANZAHL_KOPFZEILEN_MAX_VALUE,
            de.ivu.elect.business.datei.entity.CsvDateiConstants.ANZAHL_KOPFZEILEN_MAX_LENGTH
                );

        }


        return anzahlKopfzeilenProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvTrennzeichen>
                getTrennzeichenProperty() {
        if (trennzeichenProperty == null) {
        trennzeichenProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getTrennzeichenEinzahlMessage(),
        getMetaData().getTrennzeichenDefaultValue(),
        getMetaData().isTrennzeichenRequired(),
                entity::setTrennzeichen,
        entity::getTrennzeichen

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

        }


        return trennzeichenProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvTrennzeichen> getTrennzeichenMitLeererAuswahlProperty() {
               if (trennzeichenMitLeererAuswahlProperty == null) {
                 trennzeichenMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getTrennzeichenEinzahlMessage(),
        				getMetaData().getTrennzeichenDefaultValue(),
                        getMetaData().isTrennzeichenRequired(),
                        entity::setTrennzeichen,
                        entity::getTrennzeichen
                        , de.ivu.elect.business.datei.entity.CsvTrennzeichen.class,
                        java.util.Arrays.asList(de.ivu.elect.business.datei.entity.CsvTrennzeichen.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return trennzeichenMitLeererAuswahlProperty;
            }
        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvZeichensatz>
                getZeichensatzProperty() {
        if (zeichensatzProperty == null) {
        zeichensatzProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getZeichensatzEinzahlMessage(),
        getMetaData().getZeichensatzDefaultValue(),
        getMetaData().isZeichensatzRequired(),
                entity::setZeichensatz,
        entity::getZeichensatz

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

        }


        return zeichensatzProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.datei.entity.CsvZeichensatz> getZeichensatzMitLeererAuswahlProperty() {
               if (zeichensatzMitLeererAuswahlProperty == null) {
                 zeichensatzMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getZeichensatzEinzahlMessage(),
        				getMetaData().getZeichensatzDefaultValue(),
                        getMetaData().isZeichensatzRequired(),
                        entity::setZeichensatz,
                        entity::getZeichensatz
                        , de.ivu.elect.business.datei.entity.CsvZeichensatz.class,
                        java.util.Arrays.asList(de.ivu.elect.business.datei.entity.CsvZeichensatz.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return zeichensatzMitLeererAuswahlProperty;
            }
        
        }