parent
74b62aa4de
commit
1e40707633
@ -0,0 +1,38 @@ |
||||
package me.bearns.fias.util; |
||||
|
||||
import me.bearns.fias.domain.Addrobj; |
||||
import me.bearns.fias.domain.House; |
||||
|
||||
import java.util.HashSet; |
||||
import java.util.Set; |
||||
import java.util.function.Predicate; |
||||
|
||||
public class RegionFilter implements Predicate { |
||||
|
||||
private final Set<String> set = new HashSet<>(); |
||||
|
||||
public RegionFilter(Long[] codes) { |
||||
for (Long code : codes){ |
||||
if(code>0L && code<100L) { |
||||
set.add(String.format("%1$02d", code)); |
||||
} else { |
||||
//todo
|
||||
//log.warn("Element out of range: {}", code);
|
||||
} |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public boolean test(Object o) { |
||||
|
||||
String regioncode = null; |
||||
|
||||
if(o instanceof Addrobj){ |
||||
regioncode = ((Addrobj) o).regioncode; |
||||
} else if(o instanceof House){ |
||||
regioncode = ((House) o).regioncode; |
||||
} |
||||
|
||||
return regioncode != null && set.contains(regioncode); |
||||
} |
||||
} |
Loading…
Reference in new issue