public abstract class IPNetworkDetection
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static IPAddress |
ANY_LOCAL_V4_ADDRESS |
static IPAddress |
ANY_LOCAL_V6_ADDRESS |
static java.lang.String |
IPv4 |
protected HashMap |
ipv4Address2InterfaceList |
protected HashMap |
ipv4Addresses |
protected HashMap |
ipv4AddressesNotUseableButInBinding |
protected HashMap |
ipv4DiscoveryDomains |
protected HashMap |
ipv4discoveryDomainsNotUseableButInBinding |
protected IPAddress |
IPv4LoopbackAddress |
static java.lang.String |
IPv6 |
protected HashMap |
ipv6Address2InterfaceList |
protected HashMap |
ipv6Addresses |
protected HashMap |
ipv6AddressesNotUseableButInBinding |
protected HashMap |
ipv6DiscoveryDomains |
protected HashMap |
ipv6discoveryDomainsNotUseableButInBinding |
protected HashMap |
networkChangeListener |
protected HashMap |
networkinterfaces |
| Constructor and Description |
|---|
IPNetworkDetection() |
| Modifier and Type | Method and Description |
|---|---|
void |
addNetworkChangeListener(NetworkChangeListener listener) |
protected void |
checkInitiatedAddresses() |
protected void |
checkInitiatedInterfaces() |
protected void |
checkInitiatedIPDomains() |
protected IPAddress |
getAddress(HashMap addressMap,
java.lang.Long[] key) |
Iterator |
getAddressesForInterface(boolean isIPv6,
java.lang.String ifaceName)
Returns an iterator with all available addresses.
|
Iterator |
getAllAddresses()
Returns an iterator with all available addresses.
|
Iterator |
getAllAddresses(boolean excludeLoopback)
Returns an iterator with all available addresses.
|
Iterator |
getAllAddressesForInterface(java.lang.String ifaceName) |
Iterator |
getAllAvailableDiscoveryDomains() |
int |
getAllAvailableDiscoveryDomainsSize() |
IPAddress |
getAssignedIPAddressForInterface(NetworkInterface iface,
boolean useIPv6) |
Iterator |
getAvailableDiscoveryDomains(boolean useIPv6) |
Iterator |
getAvailableDiscoveryDomainsForInterfaces(DataStructure interfaces,
boolean useIPv6) |
abstract java.lang.String |
getCanonicalAddress(java.lang.String address)
This method returns the canonical form of the supplied
address. |
static IPNetworkDetection |
getInstance() |
IPAddress |
getIPAddressOfAnyLocalInterface(java.lang.String address,
boolean useAnyLocalAddress)
Looks for the given ipaddress if it is an local address.If useAnyLocalAddress is true anyLocalAddress(0.0.0.0) is
returning.
|
protected IPAddress |
getIPAddressOfAnyLocalInterface(java.lang.String address,
boolean useAnyLocalAddress,
java.lang.Long[] key) |
IPDiscoveryDomain |
getIPDiscoveryDomainForInterface(NetworkInterface iface,
boolean useIPv6) |
Iterator |
getIPv4Addresses()
Returns an iterator with all available ipv4 addresses.
|
Iterator |
getIPv4Addresses(boolean excludeLoopback)
Returns an iterator with all available ipv4 addresses.
|
Iterator |
getIPv6Addresses()
Returns an iterator with all available ipv6 addresses.
|
Iterator |
getIPv6Addresses(boolean excludeLoopback)
Returns an iterator with all available ipv6 addresses.
|
NetworkInterface |
getNetworkInterface(java.lang.String name)
Returns the network interface found for the given name.
|
java.lang.String[] |
getNetworkInterfaceNames() |
Iterator |
getNetworkInterfaces()
Returns all network interfaces found on this platform.
|
int |
getNetworkInterfacesCount() |
DataStructure |
getNetworkInterfacesForAddress(IPAddress ipAddress)
Returns the NetworkInterfaces which has the ipAddress or null if no interfaces with ipAddress is available
|
boolean |
hasIPAddress(java.lang.Long[] key) |
protected void |
prepareMaps() |
protected void |
putAddress(IPAddress ipAddress) |
abstract void |
refreshNetworkInterfaces() |
protected void |
removeAddress(IPAddress ipAddress,
boolean inUse) |
void |
removeNetworkChangeListener(NetworkChangeListener listener) |
abstract void |
startRefreshNetworkInterfacesThread() |
abstract void |
stopRefreshNetworkInterfacesThread() |
public static final java.lang.String IPv4
public static final java.lang.String IPv6
public static final IPAddress ANY_LOCAL_V4_ADDRESS
public static final IPAddress ANY_LOCAL_V6_ADDRESS
protected volatile HashMap networkinterfaces
protected volatile HashMap ipv4Addresses
protected volatile HashMap ipv4AddressesNotUseableButInBinding
protected volatile HashMap ipv6Addresses
protected volatile HashMap ipv6AddressesNotUseableButInBinding
protected volatile IPAddress IPv4LoopbackAddress
protected volatile HashMap ipv4DiscoveryDomains
protected volatile HashMap ipv4discoveryDomainsNotUseableButInBinding
protected volatile HashMap ipv6DiscoveryDomains
protected volatile HashMap ipv6discoveryDomainsNotUseableButInBinding
protected HashMap ipv4Address2InterfaceList
protected HashMap ipv6Address2InterfaceList
protected HashMap networkChangeListener
public static IPNetworkDetection getInstance()
protected void checkInitiatedInterfaces()
protected void checkInitiatedAddresses()
protected void checkInitiatedIPDomains()
protected void prepareMaps()
public final Iterator getNetworkInterfaces()
public final int getNetworkInterfacesCount()
public final java.lang.String[] getNetworkInterfaceNames()
public final NetworkInterface getNetworkInterface(java.lang.String name)
name - public final DataStructure getNetworkInterfacesForAddress(IPAddress ipAddress)
ipAddress - public Iterator getAllAddresses()
IPAddresspublic Iterator getAllAddresses(boolean excludeLoopback)
excludeLoopback - public Iterator getIPv4Addresses()
public Iterator getIPv4Addresses(boolean excludeLoopback)
excludeLoopback - public Iterator getIPv6Addresses()
public Iterator getIPv6Addresses(boolean excludeLoopback)
excludeLoopback - public Iterator getAllAddressesForInterface(java.lang.String ifaceName)
public Iterator getAddressesForInterface(boolean isIPv6, java.lang.String ifaceName)
protocol - ifaceName - for example eth0 or null for wildcard.public IPAddress getIPAddressOfAnyLocalInterface(java.lang.String address, boolean useAnyLocalAddress)
null is returning.address - useAnyLocalAddress - protected IPAddress getIPAddressOfAnyLocalInterface(java.lang.String address, boolean useAnyLocalAddress, java.lang.Long[] key)
public IPAddress getAssignedIPAddressForInterface(NetworkInterface iface, boolean useIPv6)
public boolean hasIPAddress(java.lang.Long[] key)
public Iterator getAllAvailableDiscoveryDomains()
public int getAllAvailableDiscoveryDomainsSize()
public Iterator getAvailableDiscoveryDomains(boolean useIPv6)
public IPDiscoveryDomain getIPDiscoveryDomainForInterface(NetworkInterface iface, boolean useIPv6)
public Iterator getAvailableDiscoveryDomainsForInterfaces(DataStructure interfaces, boolean useIPv6)
protected void putAddress(IPAddress ipAddress)
protected void removeAddress(IPAddress ipAddress, boolean inUse)
public void addNetworkChangeListener(NetworkChangeListener listener)
public void removeNetworkChangeListener(NetworkChangeListener listener)
public abstract java.lang.String getCanonicalAddress(java.lang.String address)
address.address - either an IPv4, IPv6 address or a DNS nameaddress, usually an IP addresspublic abstract void startRefreshNetworkInterfacesThread()
public abstract void stopRefreshNetworkInterfacesThread()
public abstract void refreshNetworkInterfaces()
throws java.io.IOException
java.io.IOException