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

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.control.PersonenregisterPersonendatenMatchArt;
import de.ivu.elect.business.personenregister.control.PersonenregisterPersonendatenMatcher;
import de.ivu.elect.business.personenregister.control.PersonenregisterPersonendatenMatcherResult;
import de.ivu.elect.business.personenregister.entity.PersonenregisterAnschrift;
import de.ivu.elect.business.personenregister.entity.PersonenregisterPersonendaten;

public class PersonendatenPersonenregisterPersonendatenMatcherResolver implements Serializable {

  private static final long serialVersionUID = 1L;

  private static final PersonenregisterPersonendatenMatcherResult NO_OP_MATCHER_RESULT = new PersonenregisterPersonendatenMatcherResult(false, PersonenregisterPersonendatenMatchArt.IDENTISCH, true);

  protected static final PersonenregisterPersonendatenMatcher NO_OP_MATCHER = new PersonenregisterPersonendatenMatcher() {

    private static final long serialVersionUID = 1L;

    @Override
    public boolean isAutomatischUebernehmbar(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return true;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchOrdnungsmerkmal(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchAnrede(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchTitel(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchFamiliennameBestandteil(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchFamilienname(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchVorname(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchKuenstlername(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchOrdensname(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchGeburtsdatum(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchGeburtsort(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchGeschlecht(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchStaatsangehoerigkeiten(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchWahlrechtsausschluss(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchStimmbezirkSchluessel(Personendaten personendaten, PersonenregisterPersonendaten personenregisterPersonendaten) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchAnschriftArt(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchStrasse(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchHausnummer(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchHausnummerzusatz(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchWohnungsnummer(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchPlz(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchOrt(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchOrtsteil(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchZustellanweisung(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift) {
      return NO_OP_MATCHER_RESULT;
    }

    @Override
    public PersonenregisterPersonendatenMatcherResult matchStaat(Personendaten personendaten, Anschrift anschrift, PersonenregisterAnschrift personenregisterAnschrift) {
      return NO_OP_MATCHER_RESULT;
    }
  };

  public PersonendatenPersonenregisterPersonendatenMatcherResolver() {
    super();
  }

  public PersonenregisterPersonendatenMatcher getMatcher(Personendaten personendaten) {
    return NO_OP_MATCHER;
  }
}
