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

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

import de.ivu.elect.business.veranstaltung.entity.TeilnahmeConstants;
import de.ivu.elect.jee.faces.Messages;

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

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "teilnahmeMeta";

  @Inject
  private transient Messages messages;

  public TeilnahmeMeta() {
      super();
  }

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

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

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


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

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



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

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


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

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



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

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

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

  public String getTeilnehmerRolleEinzahlMessageKey(){
    return TeilnahmeConstants.MESSAGE_KEY_TEILNEHMER_ROLLE_EINZAHL;
  }

  public String getTeilnehmerRolleMehrzahlMessageKey(){
    return TeilnahmeConstants.MESSAGE_KEY_TEILNEHMER_ROLLE_MEHRZAHL;
  }


  public String getTeilnehmerRolleEinzahlMessage(){
    return getMessage(getTeilnehmerRolleEinzahlMessageKey());
  }

  public String getTeilnehmerRolleMehrzahlMessage(){
    return getMessage(getTeilnehmerRolleMehrzahlMessageKey());
  }



  public boolean isTeilnehmerRolleRequired() {
    return !TeilnahmeConstants.TEILNEHMER_ROLLE_NULLABLE;
  }

  public de.ivu.elect.business.veranstaltung.entity.TeilnehmerRolle getTeilnehmerRolleDefaultValue() {
    return TeilnahmeConstants.TEILNEHMER_ROLLE_DEFAULT_VALUE;
  }


  public String getTeilnehmerStatusEinzahlMessageKey(){
    return TeilnahmeConstants.MESSAGE_KEY_TEILNEHMER_STATUS_EINZAHL;
  }

  public String getTeilnehmerStatusMehrzahlMessageKey(){
    return TeilnahmeConstants.MESSAGE_KEY_TEILNEHMER_STATUS_MEHRZAHL;
  }


  public String getTeilnehmerStatusEinzahlMessage(){
    return getMessage(getTeilnehmerStatusEinzahlMessageKey());
  }

  public String getTeilnehmerStatusMehrzahlMessage(){
    return getMessage(getTeilnehmerStatusMehrzahlMessageKey());
  }



  public boolean isTeilnehmerStatusRequired() {
    return !TeilnahmeConstants.TEILNEHMER_STATUS_NULLABLE;
  }

  public de.ivu.elect.business.veranstaltung.entity.TeilnehmerStatus getTeilnehmerStatusDefaultValue() {
    return TeilnahmeConstants.TEILNEHMER_STATUS_DEFAULT_VALUE;
  }



  public String getPersonendatenEinzahlMessageKey(){
    return TeilnahmeConstants.MESSAGE_KEY_PERSONENDATEN_ID_EINZAHL;
  }

  public String getPersonendatenEinzahlMessage(){
    return getMessage(getPersonendatenEinzahlMessageKey());
  }

  public boolean isPersonendatenRequired() {
    return !TeilnahmeConstants.PERSONENDATEN_ID_NULLABLE;
  }


  public String getVeranstaltungEinzahlMessageKey(){
    return TeilnahmeConstants.MESSAGE_KEY_VERANSTALTUNG_ID_EINZAHL;
  }

  public String getVeranstaltungEinzahlMessage(){
    return getMessage(getVeranstaltungEinzahlMessageKey());
  }

  public boolean isVeranstaltungRequired() {
    return !TeilnahmeConstants.VERANSTALTUNG_ID_NULLABLE;
  }

}