Class AbstractInterfaceCriteria
- java.lang.Object
-
- org.jboss.as.controller.interfaces.AbstractInterfaceCriteria
-
- All Implemented Interfaces:
Serializable
,Comparable<InterfaceCriteria>
,InterfaceCriteria
- Direct Known Subclasses:
InetAddressMatchInterfaceCriteria
,LinkLocalInterfaceCriteria
,LoopbackAddressInterfaceCriteria
,LoopbackInterfaceCriteria
,NicInterfaceCriteria
,NicMatchInterfaceCriteria
,PointToPointInterfaceCriteria
,PublicAddressInterfaceCriteria
,SiteLocalInterfaceCriteria
,SubnetMatchInterfaceCriteria
,SupportsMulticastInterfaceCriteria
,UpInterfaceCriteria
,VirtualInterfaceCriteria
public abstract class AbstractInterfaceCriteria extends Object implements InterfaceCriteria
Abstract superclass forInterfaceCriteria
implementations.- Author:
- Brian Stansberry (c) 2011 Red Hat Inc.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AbstractInterfaceCriteria()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static Map<NetworkInterface,Set<InetAddress>>
cloneCandidates(Map<NetworkInterface,Set<InetAddress>> candidates)
int
compareTo(InterfaceCriteria o)
Map<NetworkInterface,Set<InetAddress>>
getAcceptableAddresses(Map<NetworkInterface,Set<InetAddress>> candidates)
Gets which of the available network interfaces and addresses are acceptable for use.protected abstract InetAddress
isAcceptable(NetworkInterface networkInterface, InetAddress address)
Gets whether the given network interface and address are acceptable for use.
-
-
-
Method Detail
-
isAcceptable
protected abstract 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 givenaddress
parameter. For those criteria which override the configured address, the override address should be returned.- Parameters:
networkInterface
- the network interface. Cannot benull
address
- an address that is associated withnetworkInterface
. Cannot benull
- Returns:
InetAddress
the non-null address to bind to if the criteria is met,null
if the criteria is not satisfied- Throws:
SocketException
- if evaluating the state ofnetworkInterface
results in one
-
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 interfaceInterfaceCriteria
- 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 benull
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
-
cloneCandidates
public static Map<NetworkInterface,Set<InetAddress>> cloneCandidates(Map<NetworkInterface,Set<InetAddress>> candidates)
-
compareTo
public int compareTo(InterfaceCriteria o)
- Specified by:
compareTo
in interfaceComparable<InterfaceCriteria>
-
-