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

import java.util.Set;

import de.ivu.elect.business.gebietsbaum.entity.EntityMitGebiet;
import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.gebietsbaum.entity.GebietPK;

public class FilterByGebiet<E extends EntityMitGebiet> extends AbstractFilterByGebiet<E> {

  @Override
  protected boolean isNameNummerPassend(E entity, String untergebietNameNummer) {
    return isNameNummerPassend(entity.getGebiet(), untergebietNameNummer);
  }

  @Override
  protected boolean isGleichesGebiet(Gebiet gebiet, E entityMitGebiet) {
    return gebiet.equals(entityMitGebiet.getGebiet());
  }

  @Override
  protected boolean isGebietInGebietshierarchie(Set<GebietPK> erlaubteGebiete, E entityMitGebiet) {
    if (entityMitGebiet.getGebiet() == null) {
      return false;
    }

    return erlaubteGebiete.contains(entityMitGebiet.getGebiet().getPk());
  }

}
