/** Return all interfaces (and subinterfaces) on the system */ static List<NetworkInterface> getInterfaces() throws SocketException { List<NetworkInterface> all = new ArrayList<>(); addAllInterfaces(all, Collections.list(NetworkInterface.getNetworkInterfaces())); Collections.sort(all, new Comparator<NetworkInterface>() { @Override public int compare(NetworkInterface left, NetworkInterface right) { return Integer.compare(left.getIndex(), right.getIndex()); } }); return all; }
/** Helper for getInterfaces, recursively adds subinterfaces to {@code target} */ private static void addAllInterfaces(List<NetworkInterface> target, List<NetworkInterface> level) { if (!level.isEmpty()) { target.addAll(level); for (NetworkInterface intf : level) { addAllInterfaces(target, Collections.list(intf.getSubInterfaces())); } } }
/** Return all interfaces (and subinterfaces) on the system */ static List<NetworkInterface> getInterfaces() throws SocketException { List<NetworkInterface> all = new ArrayList<>(); addAllInterfaces(all, Collections.list(NetworkInterface.getNetworkInterfaces())); Collections.sort(all, new Comparator<NetworkInterface>() { @Override public int compare(NetworkInterface left, NetworkInterface right) { return Integer.compare(left.getIndex(), right.getIndex()); } }); return all; }
/** Return all interfaces (and subinterfaces) on the system */ static List<NetworkInterface> getInterfaces() throws SocketException { List<NetworkInterface> all = new ArrayList<>(); addAllInterfaces(all, Collections.list(NetworkInterface.getNetworkInterfaces())); Collections.sort(all, new Comparator<NetworkInterface>() { @Override public int compare(NetworkInterface left, NetworkInterface right) { return Integer.compare(left.getIndex(), right.getIndex()); } }); return all; }
/** Return all interfaces (and subinterfaces) on the system */ static List<NetworkInterface> getInterfaces() throws SocketException { List<NetworkInterface> all = new ArrayList<>(); addAllInterfaces(all, Collections.list(NetworkInterface.getNetworkInterfaces())); Collections.sort(all, new Comparator<NetworkInterface>() { @Override public int compare(NetworkInterface left, NetworkInterface right) { return Integer.compare(left.getIndex(), right.getIndex()); } }); return all; }
/** Return all interfaces (and subinterfaces) on the system */ static List<NetworkInterface> getInterfaces() throws SocketException { List<NetworkInterface> all = new ArrayList<>(); addAllInterfaces(all, Collections.list(NetworkInterface.getNetworkInterfaces())); Collections.sort(all, new Comparator<NetworkInterface>() { @Override public int compare(NetworkInterface left, NetworkInterface right) { return Integer.compare(left.getIndex(), right.getIndex()); } }); return all; }
/** Helper for getInterfaces, recursively adds subinterfaces to {@code target} */ private static void addAllInterfaces(List<NetworkInterface> target, List<NetworkInterface> level) { if (!level.isEmpty()) { target.addAll(level); for (NetworkInterface intf : level) { addAllInterfaces(target, Collections.list(intf.getSubInterfaces())); } } }
/** Helper for getInterfaces, recursively adds subinterfaces to {@code target} */ private static void addAllInterfaces(List<NetworkInterface> target, List<NetworkInterface> level) { if (!level.isEmpty()) { target.addAll(level); for (NetworkInterface intf : level) { addAllInterfaces(target, Collections.list(intf.getSubInterfaces())); } } }
/** Helper for getInterfaces, recursively adds subinterfaces to {@code target} */ private static void addAllInterfaces(List<NetworkInterface> target, List<NetworkInterface> level) { if (!level.isEmpty()) { target.addAll(level); for (NetworkInterface intf : level) { addAllInterfaces(target, Collections.list(intf.getSubInterfaces())); } } }
/** Helper for getInterfaces, recursively adds subinterfaces to {@code target} */ private static void addAllInterfaces(List<NetworkInterface> target, List<NetworkInterface> level) { if (!level.isEmpty()) { target.addAll(level); for (NetworkInterface intf : level) { addAllInterfaces(target, Collections.list(intf.getSubInterfaces())); } } }