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

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

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "personenVerknuepfungMeta";

  @Inject
  private transient Messages messages;

  public PersonenVerknuepfungMeta() {
      super();
  }

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

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

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


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

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



  public String getVerknuepfungsArtEinzahlMessageKey(){
    return PersonenVerknuepfungConstants.MESSAGE_KEY_VERKNUEPFUNGS_ART_EINZAHL;
  }

  public String getVerknuepfungsArtMehrzahlMessageKey(){
    return PersonenVerknuepfungConstants.MESSAGE_KEY_VERKNUEPFUNGS_ART_MEHRZAHL;
  }


  public String getVerknuepfungsArtEinzahlMessage(){
    return getMessage(getVerknuepfungsArtEinzahlMessageKey());
  }

  public String getVerknuepfungsArtMehrzahlMessage(){
    return getMessage(getVerknuepfungsArtMehrzahlMessageKey());
  }



  public boolean isVerknuepfungsArtRequired() {
    return !PersonenVerknuepfungConstants.VERKNUEPFUNGS_ART_NULLABLE;
  }

  public de.ivu.elect.business.person.entity.VerknuepfungsArt getVerknuepfungsArtDefaultValue() {
    return PersonenVerknuepfungConstants.VERKNUEPFUNGS_ART_DEFAULT_VALUE;
  }


  public String getVerknuepfungsGrundlageEinzahlMessageKey(){
    return PersonenVerknuepfungConstants.MESSAGE_KEY_VERKNUEPFUNGS_GRUNDLAGE_EINZAHL;
  }

  public String getVerknuepfungsGrundlageMehrzahlMessageKey(){
    return PersonenVerknuepfungConstants.MESSAGE_KEY_VERKNUEPFUNGS_GRUNDLAGE_MEHRZAHL;
  }


  public String getVerknuepfungsGrundlageEinzahlMessage(){
    return getMessage(getVerknuepfungsGrundlageEinzahlMessageKey());
  }

  public String getVerknuepfungsGrundlageMehrzahlMessage(){
    return getMessage(getVerknuepfungsGrundlageMehrzahlMessageKey());
  }



  public boolean isVerknuepfungsGrundlageRequired() {
    return !PersonenVerknuepfungConstants.VERKNUEPFUNGS_GRUNDLAGE_NULLABLE;
  }

  public de.ivu.elect.business.person.entity.VerknuepfungsGrundlage getVerknuepfungsGrundlageDefaultValue() {
    return PersonenVerknuepfungConstants.VERKNUEPFUNGS_GRUNDLAGE_DEFAULT_VALUE;
  }


  public String getVerknuepfungsStatusEinzahlMessageKey(){
    return PersonenVerknuepfungConstants.MESSAGE_KEY_VERKNUEPFUNGS_STATUS_EINZAHL;
  }

  public String getVerknuepfungsStatusMehrzahlMessageKey(){
    return PersonenVerknuepfungConstants.MESSAGE_KEY_VERKNUEPFUNGS_STATUS_MEHRZAHL;
  }


  public String getVerknuepfungsStatusEinzahlMessage(){
    return getMessage(getVerknuepfungsStatusEinzahlMessageKey());
  }

  public String getVerknuepfungsStatusMehrzahlMessage(){
    return getMessage(getVerknuepfungsStatusMehrzahlMessageKey());
  }



  public boolean isVerknuepfungsStatusRequired() {
    return !PersonenVerknuepfungConstants.VERKNUEPFUNGS_STATUS_NULLABLE;
  }

  public de.ivu.elect.business.person.entity.VerknuepfungsStatus getVerknuepfungsStatusDefaultValue() {
    return PersonenVerknuepfungConstants.VERKNUEPFUNGS_STATUS_DEFAULT_VALUE;
  }



  public String getPerson1EinzahlMessageKey(){
    return PersonenVerknuepfungConstants.MESSAGE_KEY_PERSON1_ID_EINZAHL;
  }

  public String getPerson1EinzahlMessage(){
    return getMessage(getPerson1EinzahlMessageKey());
  }

  public boolean isPerson1Required() {
    return !PersonenVerknuepfungConstants.PERSON1_ID_NULLABLE;
  }


  public String getPerson2EinzahlMessageKey(){
    return PersonenVerknuepfungConstants.MESSAGE_KEY_PERSON2_ID_EINZAHL;
  }

  public String getPerson2EinzahlMessage(){
    return getMessage(getPerson2EinzahlMessageKey());
  }

  public boolean isPerson2Required() {
    return !PersonenVerknuepfungConstants.PERSON2_ID_NULLABLE;
  }

}