/*
 * 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.StimmeingabefehlerConstants;
import de.ivu.elect.jee.faces.Messages;

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

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "stimmeingabefehlerMeta";

  @Inject
  private transient Messages messages;

  public StimmeingabefehlerMeta() {
      super();
  }

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

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

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


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

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



  public String getBeschreibungEinzahlMessageKey(){
    return StimmeingabefehlerConstants.MESSAGE_KEY_BESCHREIBUNG_EINZAHL;
  }

  public String getBeschreibungMehrzahlMessageKey(){
    return StimmeingabefehlerConstants.MESSAGE_KEY_BESCHREIBUNG_MEHRZAHL;
  }


  public String getBeschreibungEinzahlMessage(){
    return getMessage(getBeschreibungEinzahlMessageKey());
  }

  public String getBeschreibungMehrzahlMessage(){
    return getMessage(getBeschreibungMehrzahlMessageKey());
  }



  public boolean isBeschreibungRequired() {
    return !StimmeingabefehlerConstants.BESCHREIBUNG_NULLABLE;
  }

  public java.lang.String getBeschreibungDefaultValue() {
    return StimmeingabefehlerConstants.BESCHREIBUNG_DEFAULT_VALUE;
  }

  public int getBeschreibungMaxLength() {
    return StimmeingabefehlerConstants.BESCHREIBUNG_MAX_LENGTH;
  }

  public String getErwarteteAnzahlEingabeEinzahlMessageKey(){
    return StimmeingabefehlerConstants.MESSAGE_KEY_ERWARTETE_ANZAHL_EINGABE_EINZAHL;
  }

  public String getErwarteteAnzahlEingabeMehrzahlMessageKey(){
    return StimmeingabefehlerConstants.MESSAGE_KEY_ERWARTETE_ANZAHL_EINGABE_MEHRZAHL;
  }


  public String getErwarteteAnzahlEingabeEinzahlMessage(){
    return getMessage(getErwarteteAnzahlEingabeEinzahlMessageKey());
  }

  public String getErwarteteAnzahlEingabeMehrzahlMessage(){
    return getMessage(getErwarteteAnzahlEingabeMehrzahlMessageKey());
  }



  public boolean isErwarteteAnzahlEingabeRequired() {
    return !StimmeingabefehlerConstants.ERWARTETE_ANZAHL_EINGABE_NULLABLE;
  }

  public java.lang.String getErwarteteAnzahlEingabeDefaultValue() {
    return StimmeingabefehlerConstants.ERWARTETE_ANZAHL_EINGABE_DEFAULT_VALUE;
  }

  public int getErwarteteAnzahlEingabeMaxLength() {
    return StimmeingabefehlerConstants.ERWARTETE_ANZAHL_EINGABE_MAX_LENGTH;
  }

  public String getFehlerartEinzahlMessageKey(){
    return StimmeingabefehlerConstants.MESSAGE_KEY_FEHLERART_EINZAHL;
  }

  public String getFehlerartMehrzahlMessageKey(){
    return StimmeingabefehlerConstants.MESSAGE_KEY_FEHLERART_MEHRZAHL;
  }


  public String getFehlerartEinzahlMessage(){
    return getMessage(getFehlerartEinzahlMessageKey());
  }

  public String getFehlerartMehrzahlMessage(){
    return getMessage(getFehlerartMehrzahlMessageKey());
  }



  public boolean isFehlerartRequired() {
    return !StimmeingabefehlerConstants.FEHLERART_NULLABLE;
  }

  public de.ivu.elect.business.stimmeingabe.entity.Stimmeingabefehlerart getFehlerartDefaultValue() {
    return StimmeingabefehlerConstants.FEHLERART_DEFAULT_VALUE;
  }


  public String getStimmeingabePlausiTypEinzahlMessageKey(){
    return StimmeingabefehlerConstants.MESSAGE_KEY_STIMMEINGABE_PLAUSI_TYP_EINZAHL;
  }

  public String getStimmeingabePlausiTypMehrzahlMessageKey(){
    return StimmeingabefehlerConstants.MESSAGE_KEY_STIMMEINGABE_PLAUSI_TYP_MEHRZAHL;
  }


  public String getStimmeingabePlausiTypEinzahlMessage(){
    return getMessage(getStimmeingabePlausiTypEinzahlMessageKey());
  }

  public String getStimmeingabePlausiTypMehrzahlMessage(){
    return getMessage(getStimmeingabePlausiTypMehrzahlMessageKey());
  }



  public boolean isStimmeingabePlausiTypRequired() {
    return !StimmeingabefehlerConstants.STIMMEINGABE_PLAUSI_TYP_NULLABLE;
  }

  public de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiTyp getStimmeingabePlausiTypDefaultValue() {
    return StimmeingabefehlerConstants.STIMMEINGABE_PLAUSI_TYP_DEFAULT_VALUE;
  }



  public String getStimmeingabeEinzahlMessageKey(){
    return StimmeingabefehlerConstants.MESSAGE_KEY_STIMMEINGABE_ID_EINZAHL;
  }

  public String getStimmeingabeEinzahlMessage(){
    return getMessage(getStimmeingabeEinzahlMessageKey());
  }

  public boolean isStimmeingabeRequired() {
    return !StimmeingabefehlerConstants.STIMMEINGABE_ID_NULLABLE;
  }

}