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

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

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

private final Stimmzettel entity;


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

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

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

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelGueltigkeit>
                  gueltigkeitProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelGueltigkeit> gueltigkeitMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
                  nummerProperty;

        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelStatus>
                  statusProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelStatus> statusMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelTeam>
                  stimmzettelTeamProperty;

                private de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelTeam> stimmzettelTeamMitLeererAuswahlProperty;
        
        
    private
                de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
                  versionsnummerProperty;

        
    

public StimmzettelProperties(Stimmzettel entity) {
this.entity = entity;

}

private static StimmzettelMeta getMetaData() {
return de.ivu.elect.jee.cdi.BeanManagerUtil.getBeanByClass( StimmzettelMeta.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.stimmzettel.entity.StimmzettelConstants.BEMERKUNG_MAX_LENGTH
                );

        }


        return bemerkungProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getErfasserEinzahlMessage(),
        getMetaData().getErfasserDefaultValue(),
        getMetaData().isErfasserRequired(),
                entity::setErfasser,
        entity::getErfasser

                    , 0 ,
            de.ivu.elect.business.stimmzettel.entity.StimmzettelConstants.ERFASSER_MAX_LENGTH
                );

        }


        return erfasserProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaTimestampProperty
        
        (
        getMetaData().getErfassungszeitpunktEinzahlMessage(),
        getMetaData().getErfassungszeitpunktDefaultValue(),
        getMetaData().isErfassungszeitpunktRequired(),
                entity::setErfassungszeitpunkt,
        entity::getErfassungszeitpunkt

                );

        }


        return erfassungszeitpunktProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelGueltigkeit>
                getGueltigkeitProperty() {
        if (gueltigkeitProperty == null) {
        gueltigkeitProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getGueltigkeitEinzahlMessage(),
        getMetaData().getGueltigkeitDefaultValue(),
        getMetaData().isGueltigkeitRequired(),
                entity::setGueltigkeit,
        entity::getGueltigkeit

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

        }


        return gueltigkeitProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelGueltigkeit> getGueltigkeitMitLeererAuswahlProperty() {
               if (gueltigkeitMitLeererAuswahlProperty == null) {
                 gueltigkeitMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getGueltigkeitEinzahlMessage(),
        				getMetaData().getGueltigkeitDefaultValue(),
                        getMetaData().isGueltigkeitRequired(),
                        entity::setGueltigkeit,
                        entity::getGueltigkeit
                        , de.ivu.elect.business.stimmzettel.entity.StimmzettelGueltigkeit.class,
                        java.util.Arrays.asList(de.ivu.elect.business.stimmzettel.entity.StimmzettelGueltigkeit.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return gueltigkeitMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getNummerEinzahlMessage(),
        getMetaData().getNummerDefaultValue(),
        getMetaData().isNummerRequired(),
                entity::setNummer,
        entity::getNummer

                    ,  1 ,
            de.ivu.elect.business.stimmzettel.entity.StimmzettelConstants.NUMMER_MAX_LENGTH
                );

        }


        return nummerProperty;
        }





        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelStatus>
                getStatusProperty() {
        if (statusProperty == null) {
        statusProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getStatusEinzahlMessage(),
        getMetaData().getStatusDefaultValue(),
        getMetaData().isStatusRequired(),
                entity::setStatus,
        entity::getStatus

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

        }


        return statusProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelStatus> getStatusMitLeererAuswahlProperty() {
               if (statusMitLeererAuswahlProperty == null) {
                 statusMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getStatusEinzahlMessage(),
        				getMetaData().getStatusDefaultValue(),
                        getMetaData().isStatusRequired(),
                        entity::setStatus,
                        entity::getStatus
                        , de.ivu.elect.business.stimmzettel.entity.StimmzettelStatus.class,
                        java.util.Arrays.asList(de.ivu.elect.business.stimmzettel.entity.StimmzettelStatus.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return statusMitLeererAuswahlProperty;
            }
        
        

        public
                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelTeam>
                getStimmzettelTeamProperty() {
        if (stimmzettelTeamProperty == null) {
        stimmzettelTeamProperty = new


                    de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
        
        (
        getMetaData().getStimmzettelTeamEinzahlMessage(),
        getMetaData().getStimmzettelTeamDefaultValue(),
        getMetaData().isStimmzettelTeamRequired(),
                entity::setStimmzettelTeam,
        entity::getStimmzettelTeam

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

        }


        return stimmzettelTeamProperty;
        }





        

            public de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<de.ivu.elect.business.stimmzettel.entity.StimmzettelTeam> getStimmzettelTeamMitLeererAuswahlProperty() {
               if (stimmzettelTeamMitLeererAuswahlProperty == null) {
                 stimmzettelTeamMitLeererAuswahlProperty = new
                de.ivu.elect.jee.presentation.dynamicform.LambdaEnumProperty<>
                    (
                        getMetaData().getStimmzettelTeamEinzahlMessage(),
        				getMetaData().getStimmzettelTeamDefaultValue(),
                        getMetaData().isStimmzettelTeamRequired(),
                        entity::setStimmzettelTeam,
                        entity::getStimmzettelTeam
                        , de.ivu.elect.business.stimmzettel.entity.StimmzettelTeam.class,
                        java.util.Arrays.asList(de.ivu.elect.business.stimmzettel.entity.StimmzettelTeam.values()).stream().sorted(Enum::compareTo).collect(java.util.stream.Collectors.toList())
                        ,true
                    );
            }

               return stimmzettelTeamMitLeererAuswahlProperty;
            }
        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getVersionsnummerEinzahlMessage(),
        getMetaData().getVersionsnummerDefaultValue(),
        getMetaData().isVersionsnummerRequired(),
                entity::setVersionsnummer,
        entity::getVersionsnummer

                    , de.ivu.elect.business.stimmzettel.entity.StimmzettelConstants.VERSIONSNUMMER_MIN_VALUE,
            de.ivu.elect.business.stimmzettel.entity.StimmzettelConstants.VERSIONSNUMMER_MAX_VALUE,
            de.ivu.elect.business.stimmzettel.entity.StimmzettelConstants.VERSIONSNUMMER_MAX_LENGTH
                );

        }


        return versionsnummerProperty;
        }





        
        }