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

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

import de.ivu.elect.business.person.entity.BerufConstants;
import de.ivu.elect.jee.faces.Messages;

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

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "berufMeta";

  @Inject
  private transient Messages messages;

  public BerufMeta() {
      super();
  }

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

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

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


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

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



  public String getCodeEinzahlMessageKey(){
    return BerufConstants.MESSAGE_KEY_CODE_EINZAHL;
  }

  public String getCodeMehrzahlMessageKey(){
    return BerufConstants.MESSAGE_KEY_CODE_MEHRZAHL;
  }


  public String getCodeEinzahlMessage(){
    return getMessage(getCodeEinzahlMessageKey());
  }

  public String getCodeMehrzahlMessage(){
    return getMessage(getCodeMehrzahlMessageKey());
  }



  public boolean isCodeRequired() {
    return !BerufConstants.CODE_NULLABLE;
  }

  public java.lang.String getCodeDefaultValue() {
    return BerufConstants.CODE_DEFAULT_VALUE;
  }

  public int getCodeMaxLength() {
    return BerufConstants.CODE_MAX_LENGTH;
  }

  public String getGeschlechtEinzahlMessageKey(){
    return BerufConstants.MESSAGE_KEY_GESCHLECHT_EINZAHL;
  }

  public String getGeschlechtMehrzahlMessageKey(){
    return BerufConstants.MESSAGE_KEY_GESCHLECHT_MEHRZAHL;
  }


  public String getGeschlechtEinzahlMessage(){
    return getMessage(getGeschlechtEinzahlMessageKey());
  }

  public String getGeschlechtMehrzahlMessage(){
    return getMessage(getGeschlechtMehrzahlMessageKey());
  }



  public boolean isGeschlechtRequired() {
    return !BerufConstants.GESCHLECHT_NULLABLE;
  }

  public de.ivu.elect.business.person.entity.Geschlecht getGeschlechtDefaultValue() {
    return BerufConstants.GESCHLECHT_DEFAULT_VALUE;
  }


  public String getHerkunftEinzahlMessageKey(){
    return BerufConstants.MESSAGE_KEY_HERKUNFT_EINZAHL;
  }

  public String getHerkunftMehrzahlMessageKey(){
    return BerufConstants.MESSAGE_KEY_HERKUNFT_MEHRZAHL;
  }


  public String getHerkunftEinzahlMessage(){
    return getMessage(getHerkunftEinzahlMessageKey());
  }

  public String getHerkunftMehrzahlMessage(){
    return getMessage(getHerkunftMehrzahlMessageKey());
  }



  public boolean isHerkunftRequired() {
    return !BerufConstants.HERKUNFT_NULLABLE;
  }

  public java.lang.String getHerkunftDefaultValue() {
    return BerufConstants.HERKUNFT_DEFAULT_VALUE;
  }

  public int getHerkunftMaxLength() {
    return BerufConstants.HERKUNFT_MAX_LENGTH;
  }

  public String getNameEinzahlMessageKey(){
    return BerufConstants.MESSAGE_KEY_NAME_EINZAHL;
  }

  public String getNameMehrzahlMessageKey(){
    return BerufConstants.MESSAGE_KEY_NAME_MEHRZAHL;
  }


  public String getNameEinzahlMessage(){
    return getMessage(getNameEinzahlMessageKey());
  }

  public String getNameMehrzahlMessage(){
    return getMessage(getNameMehrzahlMessageKey());
  }



  public boolean isNameRequired() {
    return !BerufConstants.NAME_NULLABLE;
  }

  public java.lang.String getNameDefaultValue() {
    return BerufConstants.NAME_DEFAULT_VALUE;
  }

  public int getNameMaxLength() {
    return BerufConstants.NAME_MAX_LENGTH;
  }

}