public class CompositeAddressProvider extends AbstractCollection implements DescribableAddressProvider, Set
This class implements the Set interface, but the contents are not checked to determine whether each element is unique. It is the responsibility of the user to ensure that the elements are unique if the object is used as a Set.
This implementation is thread-safe for consumers of the Set interface, but allows no more than one consumer of the AddressProvider interface.
| Modifier and Type | Class and Description |
|---|---|
protected static class |
CompositeAddressProvider.AddressIterator
An Iterator over the addresses in this AddressProvider.
|
protected class |
CompositeAddressProvider.SingleProvider
AddressProvider wrapper for a single address dynamically added to this AddressSet.
|
| Modifier and Type | Field and Description |
|---|---|
protected CompositeAddressProvider.AddressIterator |
m_iterInternal
The default iterator used to implement the AddressProvider interface.
|
| Constructor and Description |
|---|
CompositeAddressProvider()
Default constructor.
|
CompositeAddressProvider(AddressProvider provider)
Construct a CompositeAddressProvider from the specified AddressProvider.
|
| Modifier and Type | Method and Description |
|---|---|
void |
accept()
This method should be called by the client immediately after it determines that it can successfully use an address returned by the
SocketAddressProvider.getNextAddress() method. |
boolean |
add(Object o)
Ensures that this collection contains the specified element (optional operation).
|
void |
addAddress(InetSocketAddress address)
Add an address.
|
void |
addProvider(AddressProvider provider)
Add an AddressProvider.
|
protected CompositeAddressProvider.AddressIterator |
ensureInternalIterator()
Create (if necessary) and return the default iterator.
|
boolean |
equals(Object o)
SocketAddressProvider instances are considered equivalent iff they consistently produce the same resulting set of addresses.
|
String[] |
getAddressDescriptions()
Retrieve a human readable description of underlying addresses.
|
protected List |
getConfiguredAddresses(AddressProvider provider)
Return a list of configured addresses in the specified AddressProvider.
|
InetSocketAddress |
getNextAddress()
Covariant of
SocketAddressProvider.getNextAddress() which returns an InetSocketAddress. |
protected List |
getProviderList()
Return the provider list.
|
int |
hashCode()
Return the hash code for this AddressProvider.
|
Iterator |
iterator()
Returns an iterator over the elements contained in this collection.
|
void |
reject(Throwable eCause)
This method should be called by the client immediately after it determines that an attempt to use an address returned by the
SocketAddressProvider.getNextAddress() method has failed. |
boolean |
remove(Object o)
Removes the specified element from this set if it is present (optional operation).
|
int |
size()
Returns the number of elements in this collection.
|
addAll, clear, contains, containsAll, isEmpty, removeAll, retainAll, toArray, toArray, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitaddAll, clear, contains, containsAll, isEmpty, removeAll, retainAll, spliterator, toArray, toArrayparallelStream, removeIf, streamprotected CompositeAddressProvider.AddressIterator m_iterInternal
public CompositeAddressProvider()
public CompositeAddressProvider(AddressProvider provider)
provider - the AddressProvider to addpublic void addProvider(AddressProvider provider)
provider - the AddressProvider to addpublic void addAddress(InetSocketAddress address)
address - the address to addprotected List getProviderList()
public InetSocketAddress getNextAddress()
SocketAddressProvider.getNextAddress() which returns an InetSocketAddress.getNextAddress in interface AddressProvidergetNextAddress in interface SocketAddressProviderpublic void accept()
SocketAddressProvider.getNextAddress() method.accept in interface SocketAddressProviderpublic void reject(Throwable eCause)
SocketAddressProvider.getNextAddress() method has failed.reject in interface SocketAddressProvidereCause - (optional) an exception that carries the reason why the the caller rejected the previously returned addresspublic String[] getAddressDescriptions()
getAddressDescriptions in interface DescribableAddressProviderpublic boolean equals(Object o)
Note: the general contract of hashCode and equals() should be preserved; AddressProviders that are "equal" should produce the same hashCode.
equals in interface SocketAddressProviderequals in interface Collectionequals in interface Setequals in class Objecto - the Object to compare this SocketAddressProvider to for equalitypublic int hashCode()
hashCode in interface SocketAddressProviderhashCode in interface CollectionhashCode in interface SethashCode in class Objectpublic Iterator iterator()
iterator in interface Iterableiterator in interface Collectioniterator in interface Setiterator in class AbstractCollectionpublic int size()
size in interface Collectionsize in interface Setsize in class AbstractCollectionpublic boolean add(Object o)
This implementation always throws an UnsupportedOperationException.
add in interface Collectionadd in interface Setadd in class AbstractCollectiono - element whose presence in this collection is to be ensured.UnsupportedOperationException - if the add method is not supported by this collection.NullPointerException - if this collection does not permit null elements, and the specified element is null.ClassCastException - if the class of the specified element prevents it from being added to this collection.IllegalArgumentException - if some aspect of this element prevents it from being added to this collection.public boolean remove(Object o)
e such that (o==null ? e==null : o.equals(e)), if the set contains such an element. Returns true if the set contained the specified element (or equivalently, if the set changed as a result of the call). (The set will not contain the specified element once the call returns.)remove in interface Collectionremove in interface Setremove in class AbstractCollectiono - object to be removed from this set, if present.ClassCastException - if the type of the specified element is incompatible with this set (optional).NullPointerException - if the specified element is null and this set does not support null elements (optional).UnsupportedOperationException - if the remove method is not supported by this set.protected CompositeAddressProvider.AddressIterator ensureInternalIterator()
protected List getConfiguredAddresses(AddressProvider provider)
provider - the address provider