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

import java.util.Collection;

import de.ivu.elect.business.person.entity.PersonenVerknuepfungBase;
import de.ivu.elect.business.person.entity.Personendaten;

public class VerknuepfungenZwischenPruefmengeUndVergleichsmengeFilter<Person extends Personendaten>
    implements
      PersonenVerknuepfungFilter {

  private final Collection< ? extends Person> vergleichsmenge;
  private final Collection< ? extends Person> pruefmenge;

  public VerknuepfungenZwischenPruefmengeUndVergleichsmengeFilter(Collection< ? extends Person> pruefmenge,
      Collection< ? extends Person> vergleichsmenge) {
    this.pruefmenge = pruefmenge;
    this.vergleichsmenge = vergleichsmenge;
  }

  @Override
  public boolean isAccept(PersonenVerknuepfungBase verknuepfung) {
    Personendaten person1 = verknuepfung.getPerson1();
    Personendaten person2 = verknuepfung.getPerson2();

    return vergleichsmenge.contains(person1) && pruefmenge.contains(person2) || vergleichsmenge.contains(person2)
        && pruefmenge.contains(person1);
  }

}