}
public static Ipv4Prefix createPrefix(final Ipv4Address ipv4Address, final byte [] bytemask){
+ if (bytemask == null) {
+ return createPrefix(ipv4Address);
+ }
+
return IetfInetUtil.INSTANCE.ipv4PrefixFor(ipv4Address, countBits(bytemask));
}
}
public static Ipv6Prefix createPrefix(final Ipv6Address ipv6Address, final byte [] bytemask){
+ if (bytemask == null) {
+ return createPrefix(ipv6Address);
+ }
+
return IetfInetUtil.INSTANCE.ipv6PrefixFor(ipv6Address, countBits(bytemask));
}
List<String> partsV6Prefix = Lists.newArrayList(splittedV6Prefix.iterator());
boolean valid = true;
-
+
try {
mask = Integer.parseInt(partsV6Prefix.get(1));
if (mask > 128) {
return sb.toString();
}
+ /**
+ * Check if the supplied IPv6Address has any prefix
+ *
+ * @param ipv6Prefix Ipv6 prefix
+ * @return prefix if there is one, else null
+ */
+ public static Integer hasIpv6Prefix(final Ipv6Prefix ipv6Prefix) {
+ final int prefix = IpConversionUtil.extractIpv6Prefix(ipv6Prefix);
+ return prefix < IPV6_ADDRESS_LENGTH ? prefix : null;
+ }
+
private static int ipv6PrefixByteArrayOffset(final int mask) {
if (mask < 0) {
return 0;
public static final byte[] convertIpv6ArbitraryMaskToByteArray(final Ipv6ArbitraryMask mask) {
String maskValue;
- if (mask.getValue() != null) {
+ if (mask != null && mask.getValue() != null) {
maskValue = mask.getValue();
} else {
maskValue = DEFAULT_IPV6_ARBITRARY_BITMASK;