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

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

import de.ivu.elect.business.email.entity.EmailLayoutConstants;
import de.ivu.elect.jee.faces.Messages;

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

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "emailLayoutMeta";

  @Inject
  private transient Messages messages;

  public EmailLayoutMeta() {
      super();
  }

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

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

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


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

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



  public String getBezeichnungEinzahlMessageKey(){
    return EmailLayoutConstants.MESSAGE_KEY_BEZEICHNUNG_EINZAHL;
  }

  public String getBezeichnungMehrzahlMessageKey(){
    return EmailLayoutConstants.MESSAGE_KEY_BEZEICHNUNG_MEHRZAHL;
  }


  public String getBezeichnungEinzahlMessage(){
    return getMessage(getBezeichnungEinzahlMessageKey());
  }

  public String getBezeichnungMehrzahlMessage(){
    return getMessage(getBezeichnungMehrzahlMessageKey());
  }



  public boolean isBezeichnungRequired() {
    return !EmailLayoutConstants.BEZEICHNUNG_NULLABLE;
  }

  public java.lang.String getBezeichnungDefaultValue() {
    return EmailLayoutConstants.BEZEICHNUNG_DEFAULT_VALUE;
  }

  public int getBezeichnungMaxLength() {
    return EmailLayoutConstants.BEZEICHNUNG_MAX_LENGTH;
  }

  public String getInhaltEinzahlMessageKey(){
    return EmailLayoutConstants.MESSAGE_KEY_INHALT_EINZAHL;
  }

  public String getInhaltMehrzahlMessageKey(){
    return EmailLayoutConstants.MESSAGE_KEY_INHALT_MEHRZAHL;
  }


  public String getInhaltEinzahlMessage(){
    return getMessage(getInhaltEinzahlMessageKey());
  }

  public String getInhaltMehrzahlMessage(){
    return getMessage(getInhaltMehrzahlMessageKey());
  }



  public boolean isInhaltRequired() {
    return !EmailLayoutConstants.INHALT_NULLABLE;
  }

  public java.lang.String getInhaltDefaultValue() {
    return EmailLayoutConstants.INHALT_DEFAULT_VALUE;
  }

  public int getInhaltMaxLength() {
    return EmailLayoutConstants.INHALT_MAX_LENGTH;
  }

  public String getVerwendungTypEinzahlMessageKey(){
    return EmailLayoutConstants.MESSAGE_KEY_VERWENDUNG_TYP_EINZAHL;
  }

  public String getVerwendungTypMehrzahlMessageKey(){
    return EmailLayoutConstants.MESSAGE_KEY_VERWENDUNG_TYP_MEHRZAHL;
  }


  public String getVerwendungTypEinzahlMessage(){
    return getMessage(getVerwendungTypEinzahlMessageKey());
  }

  public String getVerwendungTypMehrzahlMessage(){
    return getMessage(getVerwendungTypMehrzahlMessageKey());
  }



  public boolean isVerwendungTypRequired() {
    return !EmailLayoutConstants.VERWENDUNG_TYP_NULLABLE;
  }

  public de.ivu.elect.business.email.entity.EmailLayoutVerwendungType getVerwendungTypDefaultValue() {
    return EmailLayoutConstants.VERWENDUNG_TYP_DEFAULT_VALUE;
  }


}