org.softamis.net.localinfo
Class DefaultLocalNetworkInfoProvider

java.lang.Object
  extended by org.softamis.net.localinfo.DefaultLocalNetworkInfoProvider
All Implemented Interfaces:
LocalNetworkInfoProvider

public class DefaultLocalNetworkInfoProvider
extends java.lang.Object
implements LocalNetworkInfoProvider

Default implementation of LocalNetworkInfoProvider

Author:
Andrew Sazonov

Constructor Summary
DefaultLocalNetworkInfoProvider()
           
 
Method Summary
 void collectInterfaceAddresses(java.net.NetworkInterface aNetworkInterface, java.util.List<java.net.InetAddress> aResult, InetAddressAcceptor aAcceptor)
           
static void collectInterfaceIPs(java.net.NetworkInterface aNetworkInterface, java.util.List<java.lang.String> aResult, InetAddressAcceptor aAcceptor)
           
 java.net.InetAddress getLocalAddress()
          Tries to obtain local address of machine based on InetAddress
 java.util.List<java.net.InetAddress> getLocalAddresses(InetAddressAcceptor aAcceptor)
          Collects all local addresses (more than one on multihome system) and applies given acceptor on them for selecting particular ones that accepted by acceptor
 byte[] getLocalAddressRaw()
          Returns information about local address in raw format
 java.lang.String getLocalHostAddress()
          Tries to obtain information about local host address
 java.util.List<java.lang.String> getLocalHostAddresses(InetAddressAcceptor aAcceptor)
          Collects all addresses of local host and filters them based on given acceptor
 java.util.List<java.net.NetworkInterface> getNetworkInterfaces(InetAddressAcceptor aAcceptor)
          Collects all network interfaces on the local machine and filters them based on given acceptor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultLocalNetworkInfoProvider

public DefaultLocalNetworkInfoProvider()
Method Detail

getLocalAddress

public java.net.InetAddress getLocalAddress()
                                     throws java.net.UnknownHostException
Description copied from interface: LocalNetworkInfoProvider
Tries to obtain local address of machine based on InetAddress

Specified by:
getLocalAddress in interface LocalNetworkInfoProvider
Returns:
resolved address
Throws:
java.net.UnknownHostException
See Also:
InetAddress.getLocalHost()

getLocalAddressRaw

public byte[] getLocalAddressRaw()
Description copied from interface: LocalNetworkInfoProvider
Returns information about local address in raw format

Specified by:
getLocalAddressRaw in interface LocalNetworkInfoProvider
See Also:
LocalNetworkInfoProvider.getLocalAddress()

getLocalHostAddress

public java.lang.String getLocalHostAddress()
                                     throws java.net.UnknownHostException
Description copied from interface: LocalNetworkInfoProvider
Tries to obtain information about local host address

Specified by:
getLocalHostAddress in interface LocalNetworkInfoProvider
Returns:
Throws:
java.net.UnknownHostException

getLocalAddresses

public java.util.List<java.net.InetAddress> getLocalAddresses(InetAddressAcceptor aAcceptor)
                                                       throws java.net.SocketException
Description copied from interface: LocalNetworkInfoProvider
Collects all local addresses (more than one on multihome system) and applies given acceptor on them for selecting particular ones that accepted by acceptor

Specified by:
getLocalAddresses in interface LocalNetworkInfoProvider
Parameters:
aAcceptor - acceptor used to filter addresses
Returns:
list of local addresses for current machine
Throws:
java.net.SocketException

getNetworkInterfaces

public java.util.List<java.net.NetworkInterface> getNetworkInterfaces(InetAddressAcceptor aAcceptor)
                                                               throws java.net.SocketException
Description copied from interface: LocalNetworkInfoProvider
Collects all network interfaces on the local machine and filters them based on given acceptor.

Specified by:
getNetworkInterfaces in interface LocalNetworkInfoProvider
Parameters:
aAcceptor - acceptor used to filter inet addresses on network interfaces
Returns:
list of network interfaces that has local addresses that match given acceptor
Throws:
java.net.SocketException

collectInterfaceAddresses

public void collectInterfaceAddresses(java.net.NetworkInterface aNetworkInterface,
                                      java.util.List<java.net.InetAddress> aResult,
                                      InetAddressAcceptor aAcceptor)

getLocalHostAddresses

public java.util.List<java.lang.String> getLocalHostAddresses(InetAddressAcceptor aAcceptor)
                                                       throws java.net.SocketException
Description copied from interface: LocalNetworkInfoProvider
Collects all addresses of local host and filters them based on given acceptor

Specified by:
getLocalHostAddresses in interface LocalNetworkInfoProvider
Parameters:
aAcceptor - acceptor used to filter inet addresses on network interfaces
Returns:
list of local host addresses that match given acceptor
Throws:
java.net.SocketException

collectInterfaceIPs

public static void collectInterfaceIPs(java.net.NetworkInterface aNetworkInterface,
                                       java.util.List<java.lang.String> aResult,
                                       InetAddressAcceptor aAcceptor)