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

import java.io.Serializable;

import de.ivu.elect.business.anschrift.entity.Anschrift;
import de.ivu.elect.business.person.entity.Personendaten;
import de.ivu.elect.business.personenregister.entity.PersonenregisterAnschrift;
import de.ivu.elect.business.personenregister.entity.PersonenregisterPersonendaten;

public interface PersonenregisterPersonendatenMatcher extends Serializable {

  boolean isAutomatischUebernehmbar(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchOrdnungsmerkmal(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchAnrede(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchTitel(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchFamiliennameBestandteil(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchFamilienname(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchVorname(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchKuenstlername(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchOrdensname(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchGeburtsdatum(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchGeburtsort(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchGeschlecht(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchStaatsangehoerigkeiten(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchWahlrechtsausschluss(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchStimmbezirkSchluessel(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten);

  PersonenregisterPersonendatenMatcherResult matchAnschriftArt(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift);

  PersonenregisterPersonendatenMatcherResult matchStrasse(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift);

  PersonenregisterPersonendatenMatcherResult matchHausnummer(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift);

  PersonenregisterPersonendatenMatcherResult matchHausnummerzusatz(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift);

  PersonenregisterPersonendatenMatcherResult matchWohnungsnummer(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift);

  PersonenregisterPersonendatenMatcherResult matchPlz(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift);

  PersonenregisterPersonendatenMatcherResult matchOrt(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift);

  PersonenregisterPersonendatenMatcherResult matchOrtsteil(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift);

  PersonenregisterPersonendatenMatcherResult matchZustellanweisung(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift);

  PersonenregisterPersonendatenMatcherResult matchStaat(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift);
}
