7120665: Change Java SE spec so that external networking not required
authormichaelm
Mon, 30 Jul 2012 22:32:59 +0100
changeset 13374 2a3bf352ef97
parent 13373 404182035113
child 13375 8ce1dc62353b
child 13403 bec625fee309
7120665: Change Java SE spec so that external networking not required Reviewed-by: alanb
jdk/src/share/classes/java/net/NetworkInterface.java
jdk/src/share/classes/java/net/package.html
--- a/jdk/src/share/classes/java/net/NetworkInterface.java	Mon Jul 30 04:57:27 2012 +0100
+++ b/jdk/src/share/classes/java/net/NetworkInterface.java	Mon Jul 30 22:32:59 2012 +0100
@@ -326,8 +326,10 @@
     }
 
     /**
-     * Returns all the interfaces on this machine. Returns null if no
-     * network interfaces could be found on this machine.
+     * Returns all the interfaces on this machine. The {@code Enumeration}
+     * contains at least one element, possibly representing a loopback
+     * interface that only supports communication between entities on
+     * this machine.
      *
      * NOTE: can use getNetworkInterfaces()+getInetAddresses()
      *       to obtain all IP addresses for this node
--- a/jdk/src/share/classes/java/net/package.html	Mon Jul 30 04:57:27 2012 +0100
+++ b/jdk/src/share/classes/java/net/package.html	Mon Jul 30 22:32:59 2012 +0100
@@ -65,6 +65,7 @@
 <p>Sending and receiving with TCP sockets is done through InputStreams and OutputStreams which can be obtained via the {@link java.net.Socket#getInputStream} and {@link java.net.Socket#getOutputStream} methods.</p>
 <h2>Interfaces</h2>
 <p>The {@link java.net.NetworkInterface} class provides APIs to browse and query all the networking interfaces (e.g. ethernet connection or PPP endpoint) of the local machine. It is through that class that you can check if any of the local interfaces is configured to support IPv6.</p>
+<p>Note, all conforming implementations must support at least one {@code NetworkInterface} object, which must either be connected to a network, or be a "loopback" interface that can only communicate with entities on the same machine.</p>
 
 <h2>High level API</h2>
 <p>A number of classes in the java.net package do provide for a much higher level of abstraction and allow for easy access to resources on the network. The classes are: