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