Class InetAddressMatchInterfaceCriteria

java.lang.Object
org.jboss.as.controller.interfaces.AbstractInterfaceCriteria
org.jboss.as.controller.interfaces.InetAddressMatchInterfaceCriteria
All Implemented Interfaces:
Serializable, Comparable<InterfaceCriteria>, InterfaceCriteria

public class InetAddressMatchInterfaceCriteria extends AbstractInterfaceCriteria
InterfaceCriteria that tests whether a given address is matches the specified address.
Author:
Brian Stansberry
See Also:
  • Constructor Details

    • InetAddressMatchInterfaceCriteria

      public InetAddressMatchInterfaceCriteria(InetAddress address)
    • InetAddressMatchInterfaceCriteria

      public InetAddressMatchInterfaceCriteria(String address)
      Creates a new InetAddressMatchInterfaceCriteria
      Parameters:
      address - a valid String value to pass to InetAddress.getByName(String) Cannot be null
      Throws:
      IllegalArgumentException - if network is null
  • Method Details

    • getAddress

      public InetAddress getAddress() throws UnknownHostException
      Throws:
      UnknownHostException
    • getAcceptableAddresses

      public Map<NetworkInterface,Set<InetAddress>> getAcceptableAddresses(Map<NetworkInterface,Set<InetAddress>> candidates) throws SocketException
      Description copied from interface: InterfaceCriteria
      Gets which of the available network interfaces and addresses are acceptable for use. Acceptance is indicated by including a network interface and the acceptable addresses associated with it in a map. The map may include more than one entry, and the set of addresses for any given entry may include more than one value. For those criteria which override the configured addresses (e.g. LoopbackAddressInterfaceCriteria, the override address should be returned in the set associated with the relevant interface.
      Specified by:
      getAcceptableAddresses in interface InterfaceCriteria
      Overrides:
      getAcceptableAddresses in class AbstractInterfaceCriteria
      Parameters:
      candidates - map of candidate interfaces and addresses. This map may include all known interfaces and addresses or the system, or a subset of them that were acceptable to other criteria.
      Returns:
      map of accepted network interfaces to their acceptable addresses. Cannot return null; an empty map should be returned if no acceptable items are found. The set of addresses stored as values in the map should not be null or empty; no key for an interface should be stored if no addresses are acceptable. A criteria that only cares about the network interface should return a map including all provided candidate addresses for that interface.
      Throws:
      SocketException
    • compareTo

      public int compareTo(InterfaceCriteria o)
      Specified by:
      compareTo in interface Comparable<InterfaceCriteria>
      Overrides:
      compareTo in class AbstractInterfaceCriteria
    • isAcceptable

      protected InetAddress isAcceptable(NetworkInterface networkInterface, InetAddress address) throws SocketException
      Gets whether the given network interface and address are acceptable for use. Acceptance is indicated by returning the address which should be used for binding against the network interface; typically this is the given address parameter. For those criteria which override the configured address, the override address should be returned.
      Specified by:
      isAcceptable in class AbstractInterfaceCriteria
      Parameters:
      networkInterface - the network interface. Cannot be null
      address - an address that is associated with networkInterface. Cannot be null
      Returns:
      getAddress() if the address is the same as the one returned by getAddress().
      Throws:
      SocketException - if evaluating the state of networkInterface results in one
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object