package org.openstack.atlas.util.ip;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.openstack.atlas.util.ip.exception.IPException;
import org.openstack.atlas.util.ip.exception.IPStringConversionException;
import org.openstack.atlas.util.ip.exception.IpTypeMissMatchException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class IPv6Cidrs {
private List<IPv6Cidr> cidrs;
public IPv6Cidrs(){
}
public List<IPv6Cidr> getCidrs() {
if(cidrs == null){
cidrs = new ArrayList<IPv6Cidr>();
}
return cidrs;
}
public void setCidrs(List<IPv6Cidr> cidrs) {
this.cidrs = cidrs;
}
public boolean contains(String ip) throws IPStringConversionException, IpTypeMissMatchException {
for(IPv6Cidr cidr : cidrs){
if(cidr.contains(ip)) {
return true;
}
}
return false;
}
public List<String> getCidrsContainingIp(String ip) {
List<String> cidrStrings = new ArrayList<String>();
for(IPv6Cidr cidr : cidrs){
try {
if (cidr.contains(ip)) {
cidrStrings.add(cidr.getCidr());
}
} catch (IPStringConversionException ex) {
continue;
} catch (IpTypeMissMatchException ex) {
continue;
}
}
return cidrStrings;
}
}