return address4Factory.newInstance(addr.getHostAddress());
}
+ /**
+ * Create an Ipv4Address by interpreting input 32 bits as an IPv4 address in big-endian format.
+ *
+ * @param bits 32 bits, big endian
+ * @return An Ipv4Address object
+ */
+ public final @NonNull A4 ipv4AddressFor(final int bits) {
+ return address4Factory.newInstance(Ipv4Utils.addressString(bits));
+ }
+
/**
* Create an Ipv4AddressNoZone by interpreting input bytes as an IPv4 address.
*
return address4NoZoneFactory.newInstance(addr.getHostAddress());
}
+ /**
+ * Create an Ipv4AddressNoZone by interpreting input 32 bits as an IPv4 address in big-endian format.
+ *
+ * @param bits 32 bits, big endian
+ * @return An Ipv4AddressNoZone object
+ */
+ public final @NonNull A4NZ ipv4AddressNoZoneFor(final int bits) {
+ return address4NoZoneFactory.newInstance(Ipv4Utils.addressString(bits));
+ }
+
public final @NonNull A4 ipv4AddressFrom(final @NonNull P4 prefix) {
return prefixToAddress(address4Factory, ipv4PrefixString(prefix));
}
*/
final String str = ipv4AddressString(addr);
final int percent = str.indexOf('%');
- return ipv4StringBytes(str, percent == -1 ? str.length() : percent);
+ return Ipv4Utils.addressBytes(str, percent == -1 ? str.length() : percent);
+ }
+
+ public final int ipv4AddressBits(final @NonNull A4 addr) {
+ final String str = ipv4AddressString(addr);
+ final int percent = str.indexOf('%');
+ return Ipv4Utils.addressBits(str, percent == -1 ? str.length() : percent);
}
public final byte @NonNull[] ipv4AddressNoZoneBytes(final @NonNull A4NZ addr) {
* the Ipv4AddressNoZone pattern, which must not include a zone index.
*/
final String str = ipv4AddressString(addr);
- return ipv4StringBytes(str, str.length());
+ return Ipv4Utils.addressBytes(str, str.length());
}
- private static byte @NonNull[] ipv4StringBytes(final String str, final int limit) {
- final byte[] bytes = new byte[INET4_LENGTH];
- Ipv4Utils.fillIpv4Bytes(bytes, 0, str, 0, limit);
- return bytes;
+ public final int ipv4AddressNoZoneBits(final @NonNull A4NZ addr) {
+ final String str = ipv4AddressString(addr);
+ return Ipv4Utils.addressBits(str, str.length());
}
/**
}
}
- private static String addressStringV4(final byte @NonNull[] bytes) {
+ static String addressStringV4(final byte @NonNull[] bytes) {
final StringBuilder sb = new StringBuilder(15);
appendIpv4String(sb, bytes);
return sb.toString();