aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/net/InetAddress.java
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2002-10-10 05:19:22 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2002-10-10 05:19:22 +0000
commit7393decb70ea1bd5f69faab0648dd64ae94b2082 (patch)
treef965712000cf470fbf9fff4d979f57fb6d1f2b12 /libjava/java/net/InetAddress.java
parent402a402cabeb85a223952f822eb14af6c3094a4c (diff)
downloadgcc-7393decb70ea1bd5f69faab0648dd64ae94b2082.zip
gcc-7393decb70ea1bd5f69faab0648dd64ae94b2082.tar.gz
gcc-7393decb70ea1bd5f69faab0648dd64ae94b2082.tar.bz2
2002-10-08 Michael Koch <konqueror@gmx.de>
* java/net/HttpURLConnection.java (getPermission): New method. (getErrorStream): New stub method. (getHeaderFieldDate): New stub method. * java/net/Inet4Address.java: (isLinkLocalAddress): Typo fixed. * java/net/InetAddress.java: (readResolve): New stubbed method (for serialization). (isAnyLocalAddress): New stubbed method. (isLoopbackAddress): New stubbed method. (isLinkLocalAddress): New stubbed method. (isSiteLocalAddress): New stubbed method. (isMCGlobal): New stubbed method. (isMCNodeGlobal): New stubbed method. (isMCLinkLocal): New stubbed method. (isMCSiteLocal): New stubbed method. (isMCOrgLocal): New stubbed method. (getCanonicalHostName): New stubbed method. (getByAddress): Create instances of Inet4Address/Inet6Address, instead of InetAddress, documentation added. * java/net/MulticastSocket.java (getInterface): Removed FIXME. (getNetworkInterface): New method. (setNetworkInterface): New method. * java/net/NetworkInterface.java: (toString): Use property "line.separator" instead of "\n". * java/net/URLConnection.java (getContent): New stubbed method. * java/net/URLStreamHandler.java: (equals): New stubbed method. (hostsEqual): New stubbed method. (hashCode): New stubbed method. * java/net/natNetworkInterface.cc: (getRealNetworkInterfaces): Create Inet4Address object instead of InetAddress. From-SVN: r58002
Diffstat (limited to 'libjava/java/net/InetAddress.java')
-rw-r--r--libjava/java/net/InetAddress.java123
1 files changed, 118 insertions, 5 deletions
diff --git a/libjava/java/net/InetAddress.java b/libjava/java/net/InetAddress.java
index 970627e..c4ea6ef 100644
--- a/libjava/java/net/InetAddress.java
+++ b/libjava/java/net/InetAddress.java
@@ -9,10 +9,12 @@ Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
package java.net;
+
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.IOException;
import java.io.Serializable;
+import java.io.ObjectStreamException;
/**
* @author Per Bothner
@@ -44,6 +46,14 @@ public class InetAddress implements Serializable
int family;
private static final long serialVersionUID = 3286316764910316507L;
+ /**
+ * Needed for serialization
+ */
+ private void readResolve () throws ObjectStreamException
+ {
+ // FIXME: implement this
+ }
+
private void readObject(ObjectInputStream ois)
throws IOException, ClassNotFoundException
{
@@ -96,6 +106,91 @@ public class InetAddress implements Serializable
return false;
}
+ /**
+ * Utility routine to check if the InetAddress in a wildcard address
+ *
+ * @since 1.4
+ */
+ public boolean isAnyLocalAddress ()
+ {
+ // FIXME: implement this
+ return false;
+ }
+
+ /**
+ * Utility routine to check if the InetAddress is a loopback address
+ *
+ * @since 1.4
+ */
+ public boolean isLoopbackAddress ()
+ {
+ // FIXME: implement this
+ return addr [0] == 0x7F;
+ }
+
+ /**
+ * @since 1.4
+ */
+ public boolean isLinkLocalAddress ()
+ {
+ // FIXME: implement this
+ return false;
+ }
+
+ /**
+ * @since 1.4
+ */
+ public boolean isSiteLocalAddress ()
+ {
+ // FIXME: implement this
+ return false;
+ }
+
+ /**
+ * @since 1.4
+ */
+ public boolean isMCGlobal ()
+ {
+ // FIXME: implement this
+ return false;
+ }
+
+ /**
+ * @since 1.4
+ */
+ public boolean isMCNodeLocal ()
+ {
+ // FIXME: implement this
+ return false;
+ }
+
+ /**
+ * @since 1.4
+ */
+ public boolean isMCLinkLocal ()
+ {
+ // FIXME: implement this
+ return false;
+ }
+
+ /**
+ * @since 1.4
+ */
+ public boolean isMCSiteLocal ()
+ {
+ // FIXME: implement this
+ return false;
+ }
+
+ /**
+ * @since 1.4
+ */
+ public boolean isMCOrgLocal ()
+ {
+ // FIXME: implement this
+ return false;
+ }
+
public String getHostName ()
{
if (hostName == null)
@@ -103,6 +198,15 @@ public class InetAddress implements Serializable
return hostName;
}
+ /**
+ * @since 1.4
+ */
+ public String getCanonicalHostName ()
+ {
+ // FIXME: implement this
+ return "";
+ }
+
public byte[] getAddress ()
{
// An experiment shows that JDK1.2 returns a different byte array each
@@ -199,6 +303,7 @@ public class InetAddress implements Serializable
{
if (obj == null || ! (obj instanceof InetAddress))
return false;
+
// "The Java Class Libraries" 2nd edition says "If a machine has
// multiple names instances of InetAddress for different name of
// that same machine are not equal. This is because they have
@@ -222,13 +327,15 @@ public class InetAddress implements Serializable
{
return getHostName()+'/'+getHostAddress();
}
-
+
/**
* Returns an InetAddress object given the raw IP address.
*
* The argument is in network byte order: the highest order byte of the
* address is in getAddress()[0].
*
+ * @param addr The IP address to create the InetAddress object from
+ *
* @exception UnknownHostException If IP address has illegal length
*
* @since 1.4
@@ -241,11 +348,14 @@ public class InetAddress implements Serializable
return new InetAddress (addr, "");
}
-
+
/**
- * Create an InetAddress based on the provided host name and IP address.
+ * Creates an InetAddress based on the provided host name and IP address.
* No name service is checked for the validity of the address.
*
+ * @param host The hostname of the InetAddress object to create
+ * @param addr The IP address to create the InetAddress object from
+ *
* @exception UnknownHostException If IP address is of illegal length
*
* @since 1.4
@@ -253,8 +363,11 @@ public class InetAddress implements Serializable
public static InetAddress getByAddress (String host, byte[] addr)
throws UnknownHostException
{
- if (addr.length == 4 || addr.length == 16)
- return new InetAddress (addr, host);
+ if (addr.length == 4)
+ return new Inet4Address (addr, host);
+
+ if (addr.length == 16)
+ return new Inet6Address (addr, host);
throw new UnknownHostException ("IP address has illegal length");
}