IpPrefix
public
final
class
IpPrefix
extends Object
implements
Parcelable
java.lang.Object | |
↳ | 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.
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 |
---|
Fields | |
---|---|
public
static
final
Creator<IpPrefix> |
CREATOR
Implement the Parcelable interface. |
Public constructors | |
---|---|
IpPrefix(InetAddress address, int prefixLength)
Constructs a new |
Public methods | |
---|---|
boolean
|
contains(InetAddress address)
Determines whether the prefix contains the specified address. |
int
|
describeContents()
Implement the Parcelable interface. |
boolean
|
equals(Object obj)
Compares this |
InetAddress
|
getAddress()
Returns a copy of the first IP address in the prefix. |
int
|
getPrefixLength()
Returns the prefix length of this |
byte[]
|
getRawAddress()
Returns a copy of the IP address bytes in network order (the highest order byte is the zeroth element). |
int
|
hashCode()
Gets the hashcode of the represented IP prefix. |
String
|
toString()
Returns a string representation of this |
void
|
writeToParcel(Parcel dest, int flags)
Implement the Parcelable interface. |
Inherited methods | |
---|---|
Fields
CREATOR
public static final Creator<IpPrefix> CREATOR
Implement the Parcelable interface.
Public constructors
IpPrefix
public IpPrefix (InetAddress address, int prefixLength)
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
public boolean contains (InetAddress address)
Determines whether the prefix contains the specified address.
Parameters | |
---|---|
address |
InetAddress : An InetAddress to test.
This value cannot be null . |
Returns | |
---|---|
boolean |
true if the prefix covers the given address. false otherwise. |
describeContents
public int describeContents ()
Implement the Parcelable interface.
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled
by this Parcelable object instance.
Value is either 0 or CONTENTS_FILE_DESCRIPTOR |
equals
public boolean equals (Object obj)
Compares this IpPrefix
object against the specified object in obj
. Two
objects are equal if they have the same startAddress and prefixLength.
Parameters | |
---|---|
obj |
Object : the object to be tested for equality.
This value may be null . |
Returns | |
---|---|
boolean |
true if both objects are equal, false otherwise. |
getAddress
public InetAddress getAddress ()
Returns a copy of the first IP address in the prefix. Modifying the returned object does not change this object's contents.
Returns | |
---|---|
InetAddress |
the address in the form of a byte array.
This value cannot be null . |
getPrefixLength
public int getPrefixLength ()
Returns the prefix length of this IpPrefix
.
Returns | |
---|---|
int |
the prefix length. Value is between 0 and 128 inclusive |
getRawAddress
public byte[] getRawAddress ()
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.
Returns | |
---|---|
byte[] |
the address in the form of a byte array.
This value cannot be null . |
hashCode
public int hashCode ()
Gets the hashcode of the represented IP prefix.
Returns | |
---|---|
int |
the appropriate hashcode value. |
toString
public String toString ()
Returns a string representation of this IpPrefix
.
Returns | |
---|---|
String |
a string such as "192.0.2.0/24" or "2001:db8:1:2::/64" . |
writeToParcel
public void writeToParcel (Parcel dest, int flags)
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.PARCELABLE_WRITE_RETURN_VALUE .
Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE , and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |