/*
 * JPA entity Metadaten
 *
 */
package de.ivu.elect.business.stimmeingabe.entity;

import javax.inject.Inject;
import javax.inject.Named;

import de.ivu.elect.business.stimmeingabe.entity.StimmeingabeConstants;
import de.ivu.elect.jee.faces.Messages;

@Named(StimmeingabeMeta.COMPONENT_NAME)
@javax.enterprise.context.ApplicationScoped // ELECT-7845
public class StimmeingabeMeta implements de.ivu.elect.jee.entity.Meta
{

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "stimmeingabeMeta";

  @Inject
  private transient Messages messages;

  public StimmeingabeMeta() {
      super();
  }

  protected String getMessage(String msgKey, Object... params) {
    return messages.getMessageForMessageKey(msgKey, params);
  }

  @Override
  public String getEinzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_ENTITY_EINZAHL;
  }

  @Override
  public  String getMehrzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_ENTITY_MEHRZAHL;
  }


  @Override
  public String getEinzahlMessage() {
    return getMessage(getEinzahlMessageKey());
  }

  @Override
  public String getMehrzahlMessage(){
    return getMessage(getMehrzahlMessageKey());
  }



  public String getAnzahlEingabeEinzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_ANZAHL_EINGABE_EINZAHL;
  }

  public String getAnzahlEingabeMehrzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_ANZAHL_EINGABE_MEHRZAHL;
  }


  public String getAnzahlEingabeEinzahlMessage(){
    return getMessage(getAnzahlEingabeEinzahlMessageKey());
  }

  public String getAnzahlEingabeMehrzahlMessage(){
    return getMessage(getAnzahlEingabeMehrzahlMessageKey());
  }



  public boolean isAnzahlEingabeRequired() {
    return !StimmeingabeConstants.ANZAHL_EINGABE_NULLABLE;
  }

  public java.lang.String getAnzahlEingabeDefaultValue() {
    return StimmeingabeConstants.ANZAHL_EINGABE_DEFAULT_VALUE;
  }

  public int getAnzahlEingabeMaxLength() {
    return StimmeingabeConstants.ANZAHL_EINGABE_MAX_LENGTH;
  }

  public String getDiscriminatorEinzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_DISCRIMINATOR_EINZAHL;
  }

  public String getDiscriminatorMehrzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_DISCRIMINATOR_MEHRZAHL;
  }


  public String getDiscriminatorEinzahlMessage(){
    return getMessage(getDiscriminatorEinzahlMessageKey());
  }

  public String getDiscriminatorMehrzahlMessage(){
    return getMessage(getDiscriminatorMehrzahlMessageKey());
  }



  public boolean isDiscriminatorRequired() {
    return !StimmeingabeConstants.DISCRIMINATOR_NULLABLE;
  }

  public java.lang.String getDiscriminatorDefaultValue() {
    return StimmeingabeConstants.DISCRIMINATOR_DEFAULT_VALUE;
  }

  public int getDiscriminatorMaxLength() {
    return StimmeingabeConstants.DISCRIMINATOR_MAX_LENGTH;
  }

  public String getStimmenartEinzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_STIMMENART_EINZAHL;
  }

  public String getStimmenartMehrzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_STIMMENART_MEHRZAHL;
  }


  public String getStimmenartEinzahlMessage(){
    return getMessage(getStimmenartEinzahlMessageKey());
  }

  public String getStimmenartMehrzahlMessage(){
    return getMessage(getStimmenartMehrzahlMessageKey());
  }



  public boolean isStimmenartRequired() {
    return !StimmeingabeConstants.STIMMENART_NULLABLE;
  }

  public de.ivu.elect.business.ergebnis.entity.Stimmenart getStimmenartDefaultValue() {
    return StimmeingabeConstants.STIMMENART_DEFAULT_VALUE;
  }



  public String getErgebniseingangEinzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_ERGEBNISEINGANG_ID_EINZAHL;
  }

  public String getErgebniseingangEinzahlMessage(){
    return getMessage(getErgebniseingangEinzahlMessageKey());
  }

  public boolean isErgebniseingangRequired() {
    return !StimmeingabeConstants.ERGEBNISEINGANG_ID_NULLABLE;
  }


  public String getGruppeImGebietEinzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_GRUPPE_IM_GEBIET_ID_EINZAHL;
  }

  public String getGruppeImGebietEinzahlMessage(){
    return getMessage(getGruppeImGebietEinzahlMessageKey());
  }

  public boolean isGruppeImGebietRequired() {
    return !StimmeingabeConstants.GRUPPE_IM_GEBIET_ID_NULLABLE;
  }


  public String getListenkandidaturEinzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_LISTENKANDIDATUR_ID_EINZAHL;
  }

  public String getListenkandidaturEinzahlMessage(){
    return getMessage(getListenkandidaturEinzahlMessageKey());
  }

  public boolean isListenkandidaturRequired() {
    return !StimmeingabeConstants.LISTENKANDIDATUR_ID_NULLABLE;
  }


  public String getReferendumOptionEinzahlMessageKey(){
    return StimmeingabeConstants.MESSAGE_KEY_REFERENDUM_OPTION_ID_EINZAHL;
  }

  public String getReferendumOptionEinzahlMessage(){
    return getMessage(getReferendumOptionEinzahlMessageKey());
  }

  public boolean isReferendumOptionRequired() {
    return !StimmeingabeConstants.REFERENDUM_OPTION_ID_NULLABLE;
  }

}