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

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

import de.ivu.elect.business.internet.entity.InternetSeiteConstants;
import de.ivu.elect.jee.faces.Messages;

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

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "internetSeiteMeta";

  @Inject
  private transient Messages messages;

  public InternetSeiteMeta() {
      super();
  }

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

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

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


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

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



  public String getBeschreibungEinzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_BESCHREIBUNG_EINZAHL;
  }

  public String getBeschreibungMehrzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_BESCHREIBUNG_MEHRZAHL;
  }


  public String getBeschreibungEinzahlMessage(){
    return getMessage(getBeschreibungEinzahlMessageKey());
  }

  public String getBeschreibungMehrzahlMessage(){
    return getMessage(getBeschreibungMehrzahlMessageKey());
  }



  public boolean isBeschreibungRequired() {
    return !InternetSeiteConstants.BESCHREIBUNG_NULLABLE;
  }

  public java.lang.String getBeschreibungDefaultValue() {
    return InternetSeiteConstants.BESCHREIBUNG_DEFAULT_VALUE;
  }

  public int getBeschreibungMaxLength() {
    return InternetSeiteConstants.BESCHREIBUNG_MAX_LENGTH;
  }

  public String getPositionEinzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_POSITION_EINZAHL;
  }

  public String getPositionMehrzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_POSITION_MEHRZAHL;
  }


  public String getPositionEinzahlMessage(){
    return getMessage(getPositionEinzahlMessageKey());
  }

  public String getPositionMehrzahlMessage(){
    return getMessage(getPositionMehrzahlMessageKey());
  }



  public boolean isPositionRequired() {
    return !InternetSeiteConstants.POSITION_NULLABLE;
  }

  public java.lang.Long getPositionDefaultValue() {
    return InternetSeiteConstants.POSITION_DEFAULT_VALUE;
  }

  public int getPositionMaxLength() {
    return InternetSeiteConstants.POSITION_MAX_LENGTH;
  }

  public long getPositionMinValue() {
    return InternetSeiteConstants.POSITION_MIN_VALUE;
  }

  public long getPositionMaxValue() {
    return InternetSeiteConstants.POSITION_MAX_VALUE;
  }

  public String getSeitenTypEinzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_SEITEN_TYP_EINZAHL;
  }

  public String getSeitenTypMehrzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_SEITEN_TYP_MEHRZAHL;
  }


  public String getSeitenTypEinzahlMessage(){
    return getMessage(getSeitenTypEinzahlMessageKey());
  }

  public String getSeitenTypMehrzahlMessage(){
    return getMessage(getSeitenTypMehrzahlMessageKey());
  }



  public boolean isSeitenTypRequired() {
    return !InternetSeiteConstants.SEITEN_TYP_NULLABLE;
  }

  public de.ivu.elect.business.internet.entity.InternetSeiteTyp getSeitenTypDefaultValue() {
    return InternetSeiteConstants.SEITEN_TYP_DEFAULT_VALUE;
  }


  public String getStatusEinzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_STATUS_EINZAHL;
  }

  public String getStatusMehrzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_STATUS_MEHRZAHL;
  }


  public String getStatusEinzahlMessage(){
    return getMessage(getStatusEinzahlMessageKey());
  }

  public String getStatusMehrzahlMessage(){
    return getMessage(getStatusMehrzahlMessageKey());
  }



  public boolean isStatusRequired() {
    return !InternetSeiteConstants.STATUS_NULLABLE;
  }

  public de.ivu.elect.business.internet.entity.InternetSeiteStatus getStatusDefaultValue() {
    return InternetSeiteConstants.STATUS_DEFAULT_VALUE;
  }


  public String getTitelEinzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_TITEL_EINZAHL;
  }

  public String getTitelMehrzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_TITEL_MEHRZAHL;
  }


  public String getTitelEinzahlMessage(){
    return getMessage(getTitelEinzahlMessageKey());
  }

  public String getTitelMehrzahlMessage(){
    return getMessage(getTitelMehrzahlMessageKey());
  }



  public boolean isTitelRequired() {
    return !InternetSeiteConstants.TITEL_NULLABLE;
  }

  public java.lang.String getTitelDefaultValue() {
    return InternetSeiteConstants.TITEL_DEFAULT_VALUE;
  }

  public int getTitelMaxLength() {
    return InternetSeiteConstants.TITEL_MAX_LENGTH;
  }


  public String getCustomDataStorageEinzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_CUSTOM_DATA_STORAGE_ID_EINZAHL;
  }

  public String getCustomDataStorageEinzahlMessage(){
    return getMessage(getCustomDataStorageEinzahlMessageKey());
  }

  public boolean isCustomDataStorageRequired() {
    return !InternetSeiteConstants.CUSTOM_DATA_STORAGE_ID_NULLABLE;
  }


  public String getWahlEinzahlMessageKey(){
    return InternetSeiteConstants.MESSAGE_KEY_WAHL_ID_EINZAHL;
  }

  public String getWahlEinzahlMessage(){
    return getMessage(getWahlEinzahlMessageKey());
  }

  public boolean isWahlRequired() {
    return !InternetSeiteConstants.WAHL_ID_NULLABLE;
  }

}