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

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

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

private final Ergebnis entity;


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

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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.Ergebnisart>
                  ergebnisartProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.Ergebnisart> ergebnisartMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.ErgebnisStatus>
                  ergebnisStatusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.ErgebnisStatus> ergebnisStatusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  nameProperty;

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus>
                  sitzberechnungsalgorithmusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus> sitzberechnungsalgorithmusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
                  zeitstempelProperty;

        
    

public ErgebnisProperties(Ergebnis entity) {
this.entity = entity;

}

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


    

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getAusloeserEinzahlMessage(),
        getMetaData().getAusloeserDefaultValue(),
        getMetaData().isAusloeserRequired(),
                entity::setAusloeser,
        entity::getAusloeser

                    , 0 ,
            de.ivu.elect.business.ergebnis.entity.ErgebnisConstants.AUSLOESER_MAX_LENGTH
                );

        }


        return ausloeserProperty;
        }





        
        

        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.ergebnis.entity.ErgebnisConstants.BEMERKUNG_MAX_LENGTH
                );

        }


        return bemerkungProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getEingangssequenznummerEinzahlMessage(),
        getMetaData().getEingangssequenznummerDefaultValue(),
        getMetaData().isEingangssequenznummerRequired(),
                entity::setEingangssequenznummer,
        entity::getEingangssequenznummer

                    ,de.ivu.elect.business.ergebnis.entity.ErgebnisConstants.EINGANGSSEQUENZNUMMER_MIN_VALUE
            ,de.ivu.elect.business.ergebnis.entity.ErgebnisConstants.EINGANGSSEQUENZNUMMER_MAX_VALUE
                           );

        }


        return eingangssequenznummerProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.Ergebnisart>
                getErgebnisartProperty() {
        if (ergebnisartProperty == null) {
        ergebnisartProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getErgebnisartEinzahlMessage(),
        getMetaData().getErgebnisartDefaultValue(),
        getMetaData().isErgebnisartRequired(),
                entity::setErgebnisart,
        entity::getErgebnisart

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

        }


        return ergebnisartProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.Ergebnisart> getErgebnisartMitLeererAuswahlProperty() {
               if (ergebnisartMitLeererAuswahlProperty == null) {
                 ergebnisartMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getErgebnisartEinzahlMessage(),
        				getMetaData().getErgebnisartDefaultValue(),
                        getMetaData().isErgebnisartRequired(),
                        entity::setErgebnisart,
                        entity::getErgebnisart
                        , de.ivu.elect.business.ergebnis.entity.Ergebnisart.class,
                        java.util.Arrays.asList(de.ivu.elect.business.ergebnis.entity.Ergebnisart.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return ergebnisartMitLeererAuswahlProperty;
            }
        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.ErgebnisStatus>
                getErgebnisStatusProperty() {
        if (ergebnisStatusProperty == null) {
        ergebnisStatusProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getErgebnisStatusEinzahlMessage(),
        getMetaData().getErgebnisStatusDefaultValue(),
        getMetaData().isErgebnisStatusRequired(),
                entity::setErgebnisStatus,
        entity::getErgebnisStatus

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

        }


        return ergebnisStatusProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.ergebnis.entity.ErgebnisStatus> getErgebnisStatusMitLeererAuswahlProperty() {
               if (ergebnisStatusMitLeererAuswahlProperty == null) {
                 ergebnisStatusMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getErgebnisStatusEinzahlMessage(),
        				getMetaData().getErgebnisStatusDefaultValue(),
                        getMetaData().isErgebnisStatusRequired(),
                        entity::setErgebnisStatus,
                        entity::getErgebnisStatus
                        , de.ivu.elect.business.ergebnis.entity.ErgebnisStatus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.ergebnis.entity.ErgebnisStatus.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return ergebnisStatusMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getNameEinzahlMessage(),
        getMetaData().getNameDefaultValue(),
        getMetaData().isNameRequired(),
                entity::setName,
        entity::getName

                    ,  1 ,
            de.ivu.elect.business.ergebnis.entity.ErgebnisConstants.NAME_MAX_LENGTH
                );

        }


        return nameProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus>
                getSitzberechnungsalgorithmusProperty() {
        if (sitzberechnungsalgorithmusProperty == null) {
        sitzberechnungsalgorithmusProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getSitzberechnungsalgorithmusEinzahlMessage(),
        getMetaData().getSitzberechnungsalgorithmusDefaultValue(),
        getMetaData().isSitzberechnungsalgorithmusRequired(),
                entity::setSitzberechnungsalgorithmus,
        entity::getSitzberechnungsalgorithmus

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

        }


        return sitzberechnungsalgorithmusProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus> getSitzberechnungsalgorithmusMitLeererAuswahlProperty() {
               if (sitzberechnungsalgorithmusMitLeererAuswahlProperty == null) {
                 sitzberechnungsalgorithmusMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getSitzberechnungsalgorithmusEinzahlMessage(),
        				getMetaData().getSitzberechnungsalgorithmusDefaultValue(),
                        getMetaData().isSitzberechnungsalgorithmusRequired(),
                        entity::setSitzberechnungsalgorithmus,
                        entity::getSitzberechnungsalgorithmus
                        , de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.wahl.entity.WahlartSitzberechnungsalgorithmus.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return sitzberechnungsalgorithmusMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
        
        (
        getMetaData().getZeitstempelEinzahlMessage(),
        getMetaData().getZeitstempelDefaultValue(),
        getMetaData().isZeitstempelRequired(),
                entity::setZeitstempel,
        entity::getZeitstempel

                );

        }


        return zeitstempelProperty;
        }





        
        }