package org.orienteer.core.method.filters; import java.util.ArrayList; import java.util.List; import org.orienteer.core.method.IMethodEnvironmentData; import org.orienteer.core.method.IMethodFilter; import org.orienteer.core.method.MethodPlace; /** * OFilter allowed if any place overlapped * Used {@link MethodPlace} * */ public class PlaceFilter implements IMethodFilter{ private List<MethodPlace> places; @Override public IMethodFilter setFilterData(String filterData) { String[] strPlaces = filterData.split("\\|"); if (strPlaces.length>0){ places = new ArrayList<MethodPlace>(strPlaces.length); for (String strPl : strPlaces) { MethodPlace pl = MethodPlace.valueOf(strPl); if (pl!=null){ places.add(pl); } } } return this; } @Override public boolean isSupportedMethod(IMethodEnvironmentData dataObject) { if (places!=null && dataObject.getPlace()!=null){ for (MethodPlace methodPlace : places) { if (methodPlace.equals(dataObject.getPlace())){ return true; } } } return false; } }