
package de.ivu.elect.presentation.person.action;

import javax.inject.Inject;

import de.ivu.elect.business.person.entity.Personendaten;
import de.ivu.elect.business.wahlausschuss.entity.Wahlausschussmitglied;
import de.ivu.elect.presentation.menu.AbstractActionEntry;
import de.ivu.elect.presentation.wahlausschuss.action.WahlausschussmitgliedEditAction;

public class CorePersonendatenEditActionResolver extends AbstractPersonendatenEditActionResolver {

  private static final long serialVersionUID = 1L;

  @Inject
  protected PersonendatenEditActionResolver personendatenEditActionResolver;

  @Inject
  protected WahlausschussmitgliedEditAction wahlausschussmitgliedEditAction;

  public CorePersonendatenEditActionResolver() {
    super();
  }

  @Override
  @SuppressWarnings("unchecked")
  protected AbstractActionEntry< ? extends Personendaten> resolveAction(Personendaten personendaten) {
    if (personendaten.isInstanceOf(Wahlausschussmitglied.class)) {
      return wahlausschussmitgliedEditAction;
    }

    return personendatenEditActionResolver.resolveAction(personendaten);
  }
}
