package be.dnsbelgium.rdap.sample.dto;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class IpAddress {
private static final Logger logger = LoggerFactory.getLogger(IpAddress.class);
public String ip4;
public String ip6;
public IpAddress(String ip, boolean ipv6) {
if (ipv6) {
ip6 = ip;
} else {
ip4 = ip;
}
}
public static IpAddress parse(String value) {
try {
InetAddress ipAddress = InetAddress.getByName(value);
return new IpAddress(value, ipAddress instanceof Inet6Address);
} catch (UnknownHostException e) {
System.out.println("e = " + e);
return null;
}
}
@JsonIgnore
public boolean isIpv4() {
return ip4 != null;
}
@JsonIgnore
public boolean isIpv6() {
return ip6 != null;
}
}