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

import de.ivu.elect.business.person.entity.Personendaten;
import de.ivu.elect.business.personenpruefung.control.AbstractPersonendatenMatcher;
import de.ivu.elect.jee.presentation.dynamicform.AbstractStringProperty;

public abstract class AbstractPruefSchrittErgebnisStringProperty<M extends AbstractPersonendatenMatcher> extends AbstractStringProperty {

  private final Personendaten personendaten;

  private final M matcher;

  public AbstractPruefSchrittErgebnisStringProperty(Personendaten personendaten, M matcher) {
    super();

    this.personendaten = personendaten;
    this.matcher = matcher;
  }

  protected Personendaten getPersonendaten() {
    return personendaten;
  }

  protected M getMatcher() {
    return matcher;
  }

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

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

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

  @Override
  public void setValue(String value) {
    throw new UnsupportedOperationException("CANNOT set readonly property");
  }
}
