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

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

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "sitzeMeta";

  @Inject
  private transient Messages messages;

  public SitzeMeta() {
      super();
  }

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

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

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


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

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



  public String getAnzahlEinzahlMessageKey(){
    return SitzeConstants.MESSAGE_KEY_ANZAHL_EINZAHL;
  }

  public String getAnzahlMehrzahlMessageKey(){
    return SitzeConstants.MESSAGE_KEY_ANZAHL_MEHRZAHL;
  }


  public String getAnzahlEinzahlMessage(){
    return getMessage(getAnzahlEinzahlMessageKey());
  }

  public String getAnzahlMehrzahlMessage(){
    return getMessage(getAnzahlMehrzahlMessageKey());
  }



  public boolean isAnzahlRequired() {
    return !SitzeConstants.ANZAHL_NULLABLE;
  }

  public java.lang.Long getAnzahlDefaultValue() {
    return SitzeConstants.ANZAHL_DEFAULT_VALUE;
  }

  public int getAnzahlMaxLength() {
    return SitzeConstants.ANZAHL_MAX_LENGTH;
  }

  public long getAnzahlMinValue() {
    return SitzeConstants.ANZAHL_MIN_VALUE;
  }

  public long getAnzahlMaxValue() {
    return SitzeConstants.ANZAHL_MAX_VALUE;
  }

  public String getAnzahlAnspruchEinzahlMessageKey(){
    return SitzeConstants.MESSAGE_KEY_ANZAHL_ANSPRUCH_EINZAHL;
  }

  public String getAnzahlAnspruchMehrzahlMessageKey(){
    return SitzeConstants.MESSAGE_KEY_ANZAHL_ANSPRUCH_MEHRZAHL;
  }


  public String getAnzahlAnspruchEinzahlMessage(){
    return getMessage(getAnzahlAnspruchEinzahlMessageKey());
  }

  public String getAnzahlAnspruchMehrzahlMessage(){
    return getMessage(getAnzahlAnspruchMehrzahlMessageKey());
  }



  public boolean isAnzahlAnspruchRequired() {
    return !SitzeConstants.ANZAHL_ANSPRUCH_NULLABLE;
  }

  public java.lang.Long getAnzahlAnspruchDefaultValue() {
    return SitzeConstants.ANZAHL_ANSPRUCH_DEFAULT_VALUE;
  }

  public int getAnzahlAnspruchMaxLength() {
    return SitzeConstants.ANZAHL_ANSPRUCH_MAX_LENGTH;
  }

  public long getAnzahlAnspruchMinValue() {
    return SitzeConstants.ANZAHL_ANSPRUCH_MIN_VALUE;
  }

  public long getAnzahlAnspruchMaxValue() {
    return SitzeConstants.ANZAHL_ANSPRUCH_MAX_VALUE;
  }


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

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

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


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

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

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


  public String getGebietEinzahlMessageKey(){
    return SitzeConstants.MESSAGE_KEY_GEBIET_ID_EINZAHL;
  }

  public String getGebietEinzahlMessage(){
    return getMessage(getGebietEinzahlMessageKey());
  }

  public boolean isGebietRequired() {
    return !SitzeConstants.GEBIET_ID_NULLABLE;
  }


  public String getGruppeEinzahlMessageKey(){
    return SitzeConstants.MESSAGE_KEY_GRUPPE_ID_EINZAHL;
  }

  public String getGruppeEinzahlMessage(){
    return getMessage(getGruppeEinzahlMessageKey());
  }

  public boolean isGruppeRequired() {
    return !SitzeConstants.GRUPPE_ID_NULLABLE;
  }

}