Added in API level 21

IpPrefix


class IpPrefix : Parcelable
kotlin.Any
   ↳ android.net.IpPrefix

This class represents an IP prefix, i.e., a contiguous block of IP addresses aligned on a power of two boundary (also known as an "IP subnet"). A prefix is specified by two pieces of information:

  • A starting IP address (IPv4 or IPv6). This is the first IP address of the prefix.
  • A prefix length. This specifies the length of the prefix by specifing the number of bits in the IP address, starting from the most significant bit in network byte order, that are constant for all addresses in the prefix.
For example, the prefix 192.0.2.0/24 covers the 256 IPv4 addresses from 192.0.2.0 to 192.0.2.255, inclusive, and the prefix 2001:db8:1:2 covers the 2^64 IPv6 addresses from 2001:db8:1:2:: to 2001:db8:1:2:ffff:ffff:ffff:ffff, inclusive. Objects of this class are immutable.

Summary

Inherited constants
Public constructors
IpPrefix(address: InetAddress, prefixLength: Int)

Constructs a new IpPrefix from an IPv4 or IPv6 address and a prefix length.

Public methods
Boolean

Determines whether the prefix contains the specified address.

Int

Implement the Parcelable interface.

Boolean
equals(other: Any?)

Compares this IpPrefix object against the specified object in obj.

InetAddress

Returns a copy of the first IP address in the prefix.

Int

Returns the prefix length of this IpPrefix.

ByteArray

Returns a copy of the IP address bytes in network order (the highest order byte is the zeroth element).

Int

Gets the hashcode of the represented IP prefix.

String

Returns a string representation of this IpPrefix.

Unit
writeToParcel(dest: Parcel, flags: Int)

Implement the Parcelable interface.

Properties
static Parcelable.Creator<IpPrefix!>

Implement the Parcelable interface.

Public constructors

IpPrefix

Added in API level 33
IpPrefix(
    address: InetAddress,
    prefixLength: Int)

Constructs a new IpPrefix from an IPv4 or IPv6 address and a prefix length. Silently truncates the address to the prefix length, so for example 192.0.2.1/24 is silently converted to 192.0.2.0/24.

Parameters
address InetAddress: the IP address. Must be non-null.
prefixLength Int: the prefix length. Must be >= 0 and <= (32 or 128) (IPv4 or IPv6). Value is between 0 and 128 inclusive

Public methods

contains

Added in API level 23
fun contains(address: InetAddress): Boolean

Determines whether the prefix contains the specified address.

Parameters
address InetAddress: An InetAddress to test. This value cannot be null.
Return
Boolean true if the prefix covers the given address. false otherwise.

describeContents

Added in API level 21
fun describeContents(): Int

Implement the Parcelable interface.

Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 21
fun equals(other: Any?): Boolean

Compares this IpPrefix object against the specified object in obj. Two objects are equal if they have the same startAddress and prefixLength.

Parameters
obj the object to be tested for equality. This value may be null.
Return
Boolean true if both objects are equal, false otherwise.

getAddress

Added in API level 21
fun getAddress(): InetAddress

Returns a copy of the first IP address in the prefix. Modifying the returned object does not change this object's contents.

Return
InetAddress the address in the form of a byte array. This value cannot be null.

getPrefixLength

Added in API level 21
fun getPrefixLength(): Int

Returns the prefix length of this IpPrefix.

Return
Int the prefix length. Value is between 0 and 128 inclusive

getRawAddress

Added in API level 21
fun getRawAddress(): ByteArray

Returns a copy of the IP address bytes in network order (the highest order byte is the zeroth element). Modifying the returned array does not change this object's contents.

Return
ByteArray the address in the form of a byte array. This value cannot be null.

hashCode

Added in API level 21
fun hashCode(): Int

Gets the hashcode of the represented IP prefix.

Return
Int the appropriate hashcode value.

toString

Added in API level 21
fun toString(): String

Returns a string representation of this IpPrefix.

Return
String a string such as "192.0.2.0/24" or "2001:db8:1:2::/64".

writeToParcel

Added in API level 21
fun writeToParcel(
    dest: Parcel,
    flags: Int
): Unit

Implement the Parcelable interface.

Parameters
dest Parcel: The Parcel in which the object should be written. This value cannot be null.
flags Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Properties

CREATOR

Added in API level 21
static val CREATOR: Parcelable.Creator<IpPrefix!>

Implement the Parcelable interface.