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

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

import de.ivu.elect.business.ergebnis.entity.GewaehltConstants;
import de.ivu.elect.jee.faces.Messages;

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

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "gewaehltMeta";

  @Inject
  private transient Messages messages;

  public GewaehltMeta() {
      super();
  }

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

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

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


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

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



  public String getGewaehltStatusEinzahlMessageKey(){
    return GewaehltConstants.MESSAGE_KEY_GEWAEHLT_STATUS_EINZAHL;
  }

  public String getGewaehltStatusMehrzahlMessageKey(){
    return GewaehltConstants.MESSAGE_KEY_GEWAEHLT_STATUS_MEHRZAHL;
  }


  public String getGewaehltStatusEinzahlMessage(){
    return getMessage(getGewaehltStatusEinzahlMessageKey());
  }

  public String getGewaehltStatusMehrzahlMessage(){
    return getMessage(getGewaehltStatusMehrzahlMessageKey());
  }



  public boolean isGewaehltStatusRequired() {
    return !GewaehltConstants.GEWAEHLT_STATUS_NULLABLE;
  }

  public de.ivu.elect.business.ergebnis.entity.GewaehltStatus getGewaehltStatusDefaultValue() {
    return GewaehltConstants.GEWAEHLT_STATUS_DEFAULT_VALUE;
  }


  public String getRangEinzahlMessageKey(){
    return GewaehltConstants.MESSAGE_KEY_RANG_EINZAHL;
  }

  public String getRangMehrzahlMessageKey(){
    return GewaehltConstants.MESSAGE_KEY_RANG_MEHRZAHL;
  }


  public String getRangEinzahlMessage(){
    return getMessage(getRangEinzahlMessageKey());
  }

  public String getRangMehrzahlMessage(){
    return getMessage(getRangMehrzahlMessageKey());
  }



  public boolean isRangRequired() {
    return !GewaehltConstants.RANG_NULLABLE;
  }

  public java.lang.Long getRangDefaultValue() {
    return GewaehltConstants.RANG_DEFAULT_VALUE;
  }

  public int getRangMaxLength() {
    return GewaehltConstants.RANG_MAX_LENGTH;
  }

  public long getRangMinValue() {
    return GewaehltConstants.RANG_MIN_VALUE;
  }

  public long getRangMaxValue() {
    return GewaehltConstants.RANG_MAX_VALUE;
  }


  public String getCustomDataStorageEinzahlMessageKey(){
    return GewaehltConstants.MESSAGE_KEY_CUSTOM_DATA_STORAGE_ID_EINZAHL;
  }

  public String getCustomDataStorageEinzahlMessage(){
    return getMessage(getCustomDataStorageEinzahlMessageKey());
  }

  public boolean isCustomDataStorageRequired() {
    return !GewaehltConstants.CUSTOM_DATA_STORAGE_ID_NULLABLE;
  }


  public String getErgebnisEinzahlMessageKey(){
    return GewaehltConstants.MESSAGE_KEY_ERGEBNIS_ID_EINZAHL;
  }

  public String getErgebnisEinzahlMessage(){
    return getMessage(getErgebnisEinzahlMessageKey());
  }

  public boolean isErgebnisRequired() {
    return !GewaehltConstants.ERGEBNIS_ID_NULLABLE;
  }


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

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

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

}