
package de.ivu.elect.business.lokalisierung.control;

import static java.util.Arrays.asList;

import java.util.List;

import de.ivu.elect.business.lokalisierung.boundary.LokalisierungSearchParameters;
import de.ivu.elect.business.lokalisierung.entity.LokalisierungWertNichtVorhanden;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamicform.AbstractEnumProperty;

public class LokalisierungWertNichtVorhandenProperty extends AbstractEnumProperty<LokalisierungWertNichtVorhanden> {

  private final LokalisierungSearchParameters lokalisierungSearchParameters;

  private final Messages messages;

  public LokalisierungWertNichtVorhandenProperty(LokalisierungSearchParameters lokalisierungSearchParameters, Messages messages) {
    this.lokalisierungSearchParameters = lokalisierungSearchParameters;
    this.messages = messages;
  }

  @Override
  protected Class<LokalisierungWertNichtVorhanden> getEnumClass() {
    return LokalisierungWertNichtVorhanden.class;
  }

  @Override
  public String getDefaultLabel() {
    return messages.getMessageForMessageKey("lokalisierung.suche.wert.nicht.vorhanden");
  }

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

  @Override
  public LokalisierungWertNichtVorhanden getValue() {
    return lokalisierungSearchParameters.getLokalisierungWertNichtVorhanden();
  }

  @Override
  public void setValue(LokalisierungWertNichtVorhanden lokalisierungWertNichtVorhanden) {
    lokalisierungSearchParameters.setLokalisierungWertNichtVorhanden(lokalisierungWertNichtVorhanden);
  }

  @Override
  public List<LokalisierungWertNichtVorhanden> getValues() {
    return asList(LokalisierungWertNichtVorhanden.values());
  }

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