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

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

import de.ivu.elect.business.wahl.entity.WahlParameterConstants;
import de.ivu.elect.jee.faces.Messages;

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

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "wahlParameterMeta";

  @Inject
  private transient Messages messages;

  public WahlParameterMeta() {
      super();
  }

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

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

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


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

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



  public String getSchluesselEinzahlMessageKey(){
    return WahlParameterConstants.MESSAGE_KEY_SCHLUESSEL_EINZAHL;
  }

  public String getSchluesselMehrzahlMessageKey(){
    return WahlParameterConstants.MESSAGE_KEY_SCHLUESSEL_MEHRZAHL;
  }


  public String getSchluesselEinzahlMessage(){
    return getMessage(getSchluesselEinzahlMessageKey());
  }

  public String getSchluesselMehrzahlMessage(){
    return getMessage(getSchluesselMehrzahlMessageKey());
  }



  public boolean isSchluesselRequired() {
    return !WahlParameterConstants.SCHLUESSEL_NULLABLE;
  }

  public java.lang.String getSchluesselDefaultValue() {
    return WahlParameterConstants.SCHLUESSEL_DEFAULT_VALUE;
  }

  public int getSchluesselMaxLength() {
    return WahlParameterConstants.SCHLUESSEL_MAX_LENGTH;
  }

  public String getWertEinzahlMessageKey(){
    return WahlParameterConstants.MESSAGE_KEY_WERT_EINZAHL;
  }

  public String getWertMehrzahlMessageKey(){
    return WahlParameterConstants.MESSAGE_KEY_WERT_MEHRZAHL;
  }


  public String getWertEinzahlMessage(){
    return getMessage(getWertEinzahlMessageKey());
  }

  public String getWertMehrzahlMessage(){
    return getMessage(getWertMehrzahlMessageKey());
  }



  public boolean isWertRequired() {
    return !WahlParameterConstants.WERT_NULLABLE;
  }

  public java.lang.String getWertDefaultValue() {
    return WahlParameterConstants.WERT_DEFAULT_VALUE;
  }

  public int getWertMaxLength() {
    return WahlParameterConstants.WERT_MAX_LENGTH;
  }


  public String getWahlterminEinzahlMessageKey(){
    return WahlParameterConstants.MESSAGE_KEY_WAHLTERMIN_ID_EINZAHL;
  }

  public String getWahlterminEinzahlMessage(){
    return getMessage(getWahlterminEinzahlMessageKey());
  }

  public boolean isWahlterminRequired() {
    return !WahlParameterConstants.WAHLTERMIN_ID_NULLABLE;
  }


  public String getWahlEinzahlMessageKey(){
    return WahlParameterConstants.MESSAGE_KEY_WAHL_ID_EINZAHL;
  }

  public String getWahlEinzahlMessage(){
    return getMessage(getWahlEinzahlMessageKey());
  }

  public boolean isWahlRequired() {
    return !WahlParameterConstants.WAHL_ID_NULLABLE;
  }

}