< prev index next >

src/java.base/share/classes/java/net/NetworkInterface.java

Print this page




  31 import java.security.AccessController;
  32 import java.util.Spliterator;
  33 import java.util.Spliterators;
  34 import java.util.stream.Stream;
  35 import java.util.stream.StreamSupport;
  36 
  37 /**
  38  * This class represents a Network Interface made up of a name,
  39  * and a list of IP addresses assigned to this interface.
  40  * It is used to identify the local interface on which a multicast group
  41  * is joined.
  42  *
  43  * Interfaces are normally known by names such as "le0".
  44  *
  45  * @since 1.4
  46  */
  47 public final class NetworkInterface {
  48     private String name;
  49     private String displayName;
  50     private int index;
  51     private InetAddress addrs[];
  52     private InterfaceAddress bindings[];
  53     private NetworkInterface childs[];
  54     private NetworkInterface parent = null;
  55     private boolean virtual = false;
  56     private static final NetworkInterface defaultInterface;
  57     private static final int defaultIndex; /* index of defaultInterface */
  58 
  59     static {
  60         AccessController.doPrivileged(
  61             new java.security.PrivilegedAction<>() {
  62                 public Void run() {
  63                     System.loadLibrary("net");
  64                     return null;
  65                 }
  66             });
  67 
  68         init();
  69         defaultInterface = DefaultInterface.getDefault();
  70         if (defaultInterface != null) {
  71             defaultIndex = defaultInterface.getIndex();
  72         } else {
  73             defaultIndex = 0;




  31 import java.security.AccessController;
  32 import java.util.Spliterator;
  33 import java.util.Spliterators;
  34 import java.util.stream.Stream;
  35 import java.util.stream.StreamSupport;
  36 
  37 /**
  38  * This class represents a Network Interface made up of a name,
  39  * and a list of IP addresses assigned to this interface.
  40  * It is used to identify the local interface on which a multicast group
  41  * is joined.
  42  *
  43  * Interfaces are normally known by names such as "le0".
  44  *
  45  * @since 1.4
  46  */
  47 public final class NetworkInterface {
  48     private String name;
  49     private String displayName;
  50     private int index;
  51     private InetAddress[] addrs;
  52     private InterfaceAddress[] bindings;
  53     private NetworkInterface[] childs;
  54     private NetworkInterface parent = null;
  55     private boolean virtual = false;
  56     private static final NetworkInterface defaultInterface;
  57     private static final int defaultIndex; /* index of defaultInterface */
  58 
  59     static {
  60         AccessController.doPrivileged(
  61             new java.security.PrivilegedAction<>() {
  62                 public Void run() {
  63                     System.loadLibrary("net");
  64                     return null;
  65                 }
  66             });
  67 
  68         init();
  69         defaultInterface = DefaultInterface.getDefault();
  70         if (defaultInterface != null) {
  71             defaultIndex = defaultInterface.getIndex();
  72         } else {
  73             defaultIndex = 0;


< prev index next >