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

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

import de.ivu.elect.business.wahlrechtspruefung.entity.WahlrechtspruefungConstants;
import de.ivu.elect.jee.faces.Messages;

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

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "wahlrechtspruefungMeta";

  @Inject
  private transient Messages messages;

  public WahlrechtspruefungMeta() {
      super();
  }

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

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

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


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

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



  public String getBemerkungEinzahlMessageKey(){
    return WahlrechtspruefungConstants.MESSAGE_KEY_BEMERKUNG_EINZAHL;
  }

  public String getBemerkungMehrzahlMessageKey(){
    return WahlrechtspruefungConstants.MESSAGE_KEY_BEMERKUNG_MEHRZAHL;
  }


  public String getBemerkungEinzahlMessage(){
    return getMessage(getBemerkungEinzahlMessageKey());
  }

  public String getBemerkungMehrzahlMessage(){
    return getMessage(getBemerkungMehrzahlMessageKey());
  }



  public boolean isBemerkungRequired() {
    return !WahlrechtspruefungConstants.BEMERKUNG_NULLABLE;
  }

  public java.lang.String getBemerkungDefaultValue() {
    return WahlrechtspruefungConstants.BEMERKUNG_DEFAULT_VALUE;
  }

  public int getBemerkungMaxLength() {
    return WahlrechtspruefungConstants.BEMERKUNG_MAX_LENGTH;
  }

  public String getFristInTagenBisZurWahlEinzahlMessageKey(){
    return WahlrechtspruefungConstants.MESSAGE_KEY_FRIST_IN_TAGEN_BIS_ZUR_WAHL_EINZAHL;
  }

  public String getFristInTagenBisZurWahlMehrzahlMessageKey(){
    return WahlrechtspruefungConstants.MESSAGE_KEY_FRIST_IN_TAGEN_BIS_ZUR_WAHL_MEHRZAHL;
  }


  public String getFristInTagenBisZurWahlEinzahlMessage(){
    return getMessage(getFristInTagenBisZurWahlEinzahlMessageKey());
  }

  public String getFristInTagenBisZurWahlMehrzahlMessage(){
    return getMessage(getFristInTagenBisZurWahlMehrzahlMessageKey());
  }



  public boolean isFristInTagenBisZurWahlRequired() {
    return !WahlrechtspruefungConstants.FRIST_IN_TAGEN_BIS_ZUR_WAHL_NULLABLE;
  }

  public java.lang.Long getFristInTagenBisZurWahlDefaultValue() {
    return WahlrechtspruefungConstants.FRIST_IN_TAGEN_BIS_ZUR_WAHL_DEFAULT_VALUE;
  }

  public int getFristInTagenBisZurWahlMaxLength() {
    return WahlrechtspruefungConstants.FRIST_IN_TAGEN_BIS_ZUR_WAHL_MAX_LENGTH;
  }

  public long getFristInTagenBisZurWahlMinValue() {
    return WahlrechtspruefungConstants.FRIST_IN_TAGEN_BIS_ZUR_WAHL_MIN_VALUE;
  }

  public long getFristInTagenBisZurWahlMaxValue() {
    return WahlrechtspruefungConstants.FRIST_IN_TAGEN_BIS_ZUR_WAHL_MAX_VALUE;
  }

  public String getWahlrechtspruefStatusEinzahlMessageKey(){
    return WahlrechtspruefungConstants.MESSAGE_KEY_WAHLRECHTSPRUEF_STATUS_EINZAHL;
  }

  public String getWahlrechtspruefStatusMehrzahlMessageKey(){
    return WahlrechtspruefungConstants.MESSAGE_KEY_WAHLRECHTSPRUEF_STATUS_MEHRZAHL;
  }


  public String getWahlrechtspruefStatusEinzahlMessage(){
    return getMessage(getWahlrechtspruefStatusEinzahlMessageKey());
  }

  public String getWahlrechtspruefStatusMehrzahlMessage(){
    return getMessage(getWahlrechtspruefStatusMehrzahlMessageKey());
  }



  public boolean isWahlrechtspruefStatusRequired() {
    return !WahlrechtspruefungConstants.WAHLRECHTSPRUEF_STATUS_NULLABLE;
  }

  public de.ivu.elect.business.wahlrechtspruefung.entity.WahlrechtspruefStatus getWahlrechtspruefStatusDefaultValue() {
    return WahlrechtspruefungConstants.WAHLRECHTSPRUEF_STATUS_DEFAULT_VALUE;
  }



  public String getKandidaturEinzahlMessageKey(){
    return WahlrechtspruefungConstants.MESSAGE_KEY_KANDIDATUR_ID_EINZAHL;
  }

  public String getKandidaturEinzahlMessage(){
    return getMessage(getKandidaturEinzahlMessageKey());
  }

  public boolean isKandidaturRequired() {
    return !WahlrechtspruefungConstants.KANDIDATUR_ID_NULLABLE;
  }


  public String getPruefkriteriumEinzahlMessageKey(){
    return WahlrechtspruefungConstants.MESSAGE_KEY_PRUEFKRITERIUM_ID_EINZAHL;
  }

  public String getPruefkriteriumEinzahlMessage(){
    return getMessage(getPruefkriteriumEinzahlMessageKey());
  }

  public boolean isPruefkriteriumRequired() {
    return !WahlrechtspruefungConstants.PRUEFKRITERIUM_ID_NULLABLE;
  }


  public String getWahlvorschlagEinzahlMessageKey(){
    return WahlrechtspruefungConstants.MESSAGE_KEY_WAHLVORSCHLAG_ID_EINZAHL;
  }

  public String getWahlvorschlagEinzahlMessage(){
    return getMessage(getWahlvorschlagEinzahlMessageKey());
  }

  public boolean isWahlvorschlagRequired() {
    return !WahlrechtspruefungConstants.WAHLVORSCHLAG_ID_NULLABLE;
  }

}