java.net.Inet4Address Maven / Gradle / Ivy
/*
This is not an official specification document, and usage is restricted.
NOTICE
(c) 2005-2007 Sun Microsystems, Inc. All Rights Reserved.
Neither this file nor any files generated from it describe a complete
specification, and they may only be used as described below. For
example, no permission is given for you to incorporate this file, in
whole or in part, in an implementation of a Java specification.
Sun Microsystems Inc. owns the copyright in this file and it is provided
to you for informative, as opposed to normative, use. The file and any
files generated from it may be used to generate other informative
documentation, such as a unified set of documents of API signatures for
a platform that includes technologies expressed as Java APIs. The file
may also be used to produce "compilation stubs," which allow
applications to be compiled and validated for such platforms.
Any work generated from this file, such as unified javadocs or compiled
stub files, must be accompanied by this notice in its entirety.
This work corresponds to the API signatures of JSR 219: Foundation
Profile 1.1. In the event of a discrepency between this work and the
JSR 219 specification, which is available at
http://www.jcp.org/en/jsr/detail?id=219, the latter takes precedence.
*/
package java.net;
import java.security.AccessController;
import java.io.ObjectStreamException;
/**
* This class represents an Internet Protocol version 4 (IPv4) address.
* Defined by
* RFC 790: Assigned Numbers,
*
* RFC 1918: Address Allocation for Private Internets,
* and RFC 2365:
* Administratively Scoped IP Multicast
*
*
Textual representation of IP addresses
*
* Textual representation of IPv4 address used as input to methods
* takes one of the following forms:
*
*
* d.d.d.d
* d.d.d
* d.d
* d
*
*
* When four parts are specified, each is interpreted as a byte of
* data and assigned, from left to right, to the four bytes of an IPv4
* address.
*
*
When a three part address is specified, the last part is
* interpreted as a 16-bit quantity and placed in the right most two
* bytes of the network address. This makes the three part address
* format convenient for specifying Class B net- work addresses as
* 128.net.host.
*
*
When a two part address is supplied, the last part is
* interpreted as a 24-bit quantity and placed in the right most three
* bytes of the network address. This makes the two part address
* format convenient for specifying Class A network addresses as
* net.host.
*
*
When only one part is given, the value is stored directly in
* the network address without any byte rearrangement.
*
*
For methods that return a textual representation as output
* value, the first form, i.e. a dotted-quad string, is used.
*
*
The Scope of a Multicast Address
*
* Historically the IPv4 TTL field in the IP header has doubled as a
* multicast scope field: a TTL of 0 means node-local, 1 means
* link-local, up through 32 means site-local, up through 64 means
* region-local, up through 128 means continent-local, and up through
* 255 are global. However, the administrative scoping is preferred.
* Please refer to
* RFC 2365: Administratively Scoped IP Multicast
*/
public final class Inet4Address extends InetAddress
{
/** use serialVersionUID from InetAddress, but Inet4Address instance
* is always replaced by an InetAddress instance before being
* serialized */
private static final long serialVersionUID = 3286316764910316507L;
/*
* This hidden constructor does not necessarily correspond to
* a constructor in the original source file -- it keeps javadoc
* from generating an inappropriate default constructor.
*/
private Inet4Address() {
super();
}
/**
* Utility routine to check if the InetAddress is an
* IP multicast address. IP multicast address is a Class D
* address i.e first four bits of the address are 1110.
* @return a boolean
indicating if the InetAddress is
* an IP multicast address
* @since JDK1.1
*/
public boolean isMulticastAddress() {
return false;
}
/**
* Utility routine to check if the InetAddress in a wildcard address.
* @return a boolean
indicating if the Inetaddress is
* a wildcard address.
* @since 1.4
*/
public boolean isAnyLocalAddress() {
return false;
}
public boolean isLoopbackAddress() {
return false;
}
/**
* Utility routine to check if the InetAddress is an link local address.
*
* @return a boolean
indicating if the InetAddress is
* a link local address; or false if address is not a link local unicast address.
* @since 1.4
*/
public boolean isLinkLocalAddress() {
return false;
}
/**
* Utility routine to check if the InetAddress is a site local address.
*
* @return a boolean
indicating if the InetAddress is
* a site local address; or false if address is not a site local unicast address.
* @since 1.4
*/
public boolean isSiteLocalAddress() {
return false;
}
/**
* Utility routine to check if the multicast address has global scope.
*
* @return a boolean
indicating if the address has
* is a multicast address of global scope, false if it is not
* of global scope or it is not a multicast address
* @since 1.4
*/
public boolean isMCGlobal() {
return false;
}
/**
* Utility routine to check if the multicast address has node scope.
*
* @return a boolean
indicating if the address has
* is a multicast address of node-local scope, false if it is not
* of node-local scope or it is not a multicast address
* @since 1.4
*/
public boolean isMCNodeLocal() {
return false;
}
/**
* Utility routine to check if the multicast address has link scope.
*
* @return a boolean
indicating if the address has
* is a multicast address of link-local scope, false if it is not
* of link-local scope or it is not a multicast address
* @since 1.4
*/
public boolean isMCLinkLocal() {
return false;
}
/**
* Utility routine to check if the multicast address has site scope.
*
* @return a boolean
indicating if the address has
* is a multicast address of site-local scope, false if it is not
* of site-local scope or it is not a multicast address
* @since 1.4
*/
public boolean isMCSiteLocal() {
return false;
}
/**
* Utility routine to check if the multicast address has organization scope.
*
* @return a boolean
indicating if the address has
* is a multicast address of organization-local scope,
* false if it is not of organization-local scope
* or it is not a multicast address
* @since 1.4
*/
public boolean isMCOrgLocal() {
return false;
}
/**
* Returns the raw IP address of this InetAddress
* object. The result is in network byte order: the highest order
* byte of the address is in getAddress()[0]
.
*
* @return the raw IP address of this object.
*/
public byte[] getAddress() {
return null;
}
/**
* Returns the IP address string in textual presentation form.
*
* @return the raw IP address in a string format.
* @since JDK1.0.2
*/
public String getHostAddress() {
return null;
}
/**
* Returns a hashcode for this IP address.
*
* @return a hash code value for this IP address.
*/
public int hashCode() {
return 0;
}
/**
* Compares this object against the specified object.
* The result is true
if and only if the argument is
* not null
and it represents the same IP address as
* this object.
*
* Two instances of InetAddress
represent the same IP
* address if the length of the byte arrays returned by
* getAddress
is the same for both, and each of the
* array components is the same for the byte arrays.
*
* @param obj the object to compare against.
* @return true
if the objects are the same;
* false
otherwise.
* @see java.net.InetAddress#getAddress()
*/
public boolean equals(Object obj) {
return false;
}
/**
* Replaces the object to be serialized with an InetAddress object.
*
* @return the alternate object to be serialized.
*
* @throws ObjectStreamException if a new object replacing this
* object could not be created
*/
private Object writeReplace() throws ObjectStreamException {
return null;
}
}