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

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

@javax.enterprise.inject.Vetoed
public class ReferendumOptionProperties
extends de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagProperties
{

private final ReferendumOption entity;


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

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

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

        
    

public ReferendumOptionProperties(ReferendumOption entity) {
super(entity);
this.entity = entity;

}

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


    

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getKurzbezeichnungEinzahlMessage(),
        getMetaData().getKurzbezeichnungDefaultValue(),
        getMetaData().isKurzbezeichnungRequired(),
                entity::setKurzbezeichnung,
        entity::getKurzbezeichnung

                    , 0 ,
            de.ivu.elect.business.wahlvorschlag.entity.ReferendumOptionConstants.KURZBEZEICHNUNG_MAX_LENGTH
                );

        }


        return kurzbezeichnungProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaStringProperty
        
        (
        getMetaData().getLabelEinzahlMessage(),
        getMetaData().getLabelDefaultValue(),
        getMetaData().isLabelRequired(),
                entity::setLabel,
        entity::getLabel

                    ,  1 ,
            de.ivu.elect.business.wahlvorschlag.entity.ReferendumOptionConstants.LABEL_MAX_LENGTH
                );

        }


        return labelProperty;
        }





        
        

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


                    de.ivu.elect.jee.presentation.dynamicform.LambdaLongProperty
        
        (
        getMetaData().getPositionEinzahlMessage(),
        getMetaData().getPositionDefaultValue(),
        getMetaData().isPositionRequired(),
                entity::setPosition,
        entity::getPosition

                    ,de.ivu.elect.business.wahlvorschlag.entity.ReferendumOptionConstants.POSITION_MIN_VALUE
            ,de.ivu.elect.business.wahlvorschlag.entity.ReferendumOptionConstants.POSITION_MAX_VALUE
                           );

        }


        return positionProperty;
        }





        
        }