package de.ivu.elect.presentation.email.form;

import de.ivu.elect.business.email.entity.EmailVorgangPlatzhalter;
import de.ivu.elect.jee.presentation.dynamicform.AbstractStringProperty;

public class EmailVorgangPlatzhalterErlaeuterungProperty extends AbstractStringProperty {

  public EmailVorgangPlatzhalterErlaeuterungProperty() {
    super();
  }

  @Override
  public String getValue() {
    return getMessage("email.vorlage.create.platzhalter.erlaetuerung", getKommasepariertePlatzhalterMitErlaeuterungen());
  }

  private String getKommasepariertePlatzhalterMitErlaeuterungen() {
    String verfuegbarePlatzhalter = "";
    boolean first = true;
    for (EmailVorgangPlatzhalter emailVorgangPlatzhalter : EmailVorgangPlatzhalter.values()) {
      if (first) {
        first = false;
      } else {
        verfuegbarePlatzhalter += ", ";
      }
      verfuegbarePlatzhalter += emailVorgangPlatzhalter.getPlatzhalter();
      verfuegbarePlatzhalter += " (" + emailVorgangPlatzhalter.getErlaeuterung(getMessages()) + ")";
    }
    return verfuegbarePlatzhalter;
  }

  @Override
  public void setValue(String s) {
    // Do nothing
  }

  @Override
  public int getDefaultMaxLength() {
    return 4096;
  }

  @Override
  public String getDefaultLabel() {
    return null;
  }

  @Override
  public boolean getDefaultRequired() {
    return false;
  }

  @Override
  public boolean isReadonly() {
    return true;
  }
}
