
package de.ivu.elect.business.personenregister.entity;

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

import de.ivu.elect.jee.entity.Meta;
import de.ivu.elect.jee.faces.Messages;

@Named(PersonenregisterAnschriftMeta.COMPONENT_NAME)
public class PersonenregisterAnschriftMeta implements Meta {

  private static final long serialVersionUID = 1L;

  protected static final String COMPONENT_NAME = "personenregisterAnschriftMeta";

  @Inject
  private transient Messages messages;

  public PersonenregisterAnschriftMeta() {
    super();
  }

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

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

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

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

  public String getAnschriftArtEinzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_ANSCHRIFT_ART_EINZAHL;
  }

  public String getAnschriftArtMehrzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_ANSCHRIFT_ART_MEHRZAHL;
  }

  public String getAnschriftArtEinzahlMessage() {
    return getMessage(getAnschriftArtEinzahlMessageKey());
  }

  public String getAnschriftArtMehrzahlMessage() {
    return getMessage(getAnschriftArtMehrzahlMessageKey());
  }

  public boolean isAnschriftArtRequired() {
    return !PersonenregisterAnschriftConstants.ANSCHRIFT_ART_NULLABLE;
  }

  public int getAnschriftArtMaxLength() {
    return PersonenregisterAnschriftConstants.ANSCHRIFT_ART_MAX_LENGTH;
  }

  public String getStrasseEinzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_STRASSE_EINZAHL;
  }

  public String getStrasseMehrzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_STRASSE_MEHRZAHL;
  }

  public String getStrasseEinzahlMessage() {
    return getMessage(getStrasseEinzahlMessageKey());
  }

  public String getStrasseMehrzahlMessage() {
    return getMessage(getStrasseMehrzahlMessageKey());
  }

  public boolean isStrasseRequired() {
    return !PersonenregisterAnschriftConstants.STRASSE_NULLABLE;
  }

  public int getStrasseMaxLength() {
    return PersonenregisterAnschriftConstants.STRASSE_MAX_LENGTH;
  }

  public String getHausnummerEinzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_HAUSNUMMER_EINZAHL;
  }

  public String getHausnummerMehrzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_HAUSNUMMER_MEHRZAHL;
  }

  public String getHausnummerEinzahlMessage() {
    return getMessage(getHausnummerEinzahlMessageKey());
  }

  public String getHausnummerMehrzahlMessage() {
    return getMessage(getHausnummerMehrzahlMessageKey());
  }

  public boolean isHausnummerRequired() {
    return !PersonenregisterAnschriftConstants.HAUSNUMMER_NULLABLE;
  }

  public int getHausnummerMaxLength() {
    return PersonenregisterAnschriftConstants.HAUSNUMMER_MAX_LENGTH;
  }

  public String getHausnummerzusatzEinzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_HAUSNUMMERZUSATZ_EINZAHL;
  }

  public String getHausnummerzusatzMehrzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_HAUSNUMMERZUSATZ_MEHRZAHL;
  }

  public String getHausnummerzusatzEinzahlMessage() {
    return getMessage(getHausnummerzusatzEinzahlMessageKey());
  }

  public String getHausnummerzusatzMehrzahlMessage() {
    return getMessage(getHausnummerzusatzMehrzahlMessageKey());
  }

  public boolean isHausnummerzusatzRequired() {
    return !PersonenregisterAnschriftConstants.HAUSNUMMERZUSATZ_NULLABLE;
  }

  public int getHausnummerzusatzMaxLength() {
    return PersonenregisterAnschriftConstants.HAUSNUMMERZUSATZ_MAX_LENGTH;
  }

  public String getWohnungsnummerEinzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_WOHNUNGSNUMMER_EINZAHL;
  }

  public String getWohnungsnummerMehrzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_WOHNUNGSNUMMER_MEHRZAHL;
  }

  public String getWohnungsnummerEinzahlMessage() {
    return getMessage(getWohnungsnummerEinzahlMessageKey());
  }

  public String getWohnungsnummerMehrzahlMessage() {
    return getMessage(getWohnungsnummerMehrzahlMessageKey());
  }

  public boolean isWohnungsnummerRequired() {
    return !PersonenregisterAnschriftConstants.WOHNUNGSNUMMER_NULLABLE;
  }

  public int getWohnungsnummerMaxLength() {
    return PersonenregisterAnschriftConstants.WOHNUNGSNUMMER_MAX_LENGTH;
  }

  public String getPlzEinzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_PLZ_EINZAHL;
  }

  public String getPlzMehrzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_PLZ_MEHRZAHL;
  }

  public String getPlzEinzahlMessage() {
    return getMessage(getPlzEinzahlMessageKey());
  }

  public String getPlzMehrzahlMessage() {
    return getMessage(getPlzMehrzahlMessageKey());
  }

  public boolean isPlzRequired() {
    return !PersonenregisterAnschriftConstants.PLZ_NULLABLE;
  }

  public String getOrtEinzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_ORT_EINZAHL;
  }

  public String getOrtMehrzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_ORT_MEHRZAHL;
  }

  public String getOrtEinzahlMessage() {
    return getMessage(getOrtEinzahlMessageKey());
  }

  public String getOrtMehrzahlMessage() {
    return getMessage(getOrtMehrzahlMessageKey());
  }

  public boolean isOrtRequired() {
    return !PersonenregisterAnschriftConstants.ORT_NULLABLE;
  }

  public String getZustellanweisungEinzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_ZUSTELLANWEISUNG_EINZAHL;
  }

  public String getZustellanweisungMehrzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_ZUSTELLANWEISUNG_MEHRZAHL;
  }

  public String getZustellanweisungEinzahlMessage() {
    return getMessage(getZustellanweisungEinzahlMessageKey());
  }

  public String getZustellanweisungMehrzahlMessage() {
    return getMessage(getZustellanweisungMehrzahlMessageKey());
  }

  public boolean isZustellanweisungRequired() {
    return !PersonenregisterAnschriftConstants.ZUSTELLANWEISUNG_NULLABLE;
  }

  public String getStimmbezirkSchluesselEinzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_STIMMBEZIRK_SCHLUESSEL_EINZAHL;
  }

  public String getStimmbezirkSchluesselMehrzahlMessageKey() {
    return PersonenregisterAnschriftConstants.MESSAGE_KEY_STIMMBEZIRK_SCHLUESSEL_MEHRZAHL;
  }

  public String getStimmbezirkSchluesselEinzahlMessage() {
    return getMessage(getStimmbezirkSchluesselEinzahlMessageKey());
  }

  public String getStimmbezirkSchluesselMehrzahlMessage() {
    return getMessage(getStimmbezirkSchluesselMehrzahlMessageKey());
  }

  public boolean isStimmbezirkSchluesselRequired() {
    return !PersonenregisterAnschriftConstants.STIMMBEZIRK_SCHLUESSEL_NULLABLE;
  }

  public int getStimmbezirkSchluesselMaxLength() {
    return PersonenregisterAnschriftConstants.STIMMBEZIRK_SCHLUESSEL_MAX_LENGTH;
  }

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