Package org.ldaptive
Class AbstractConnectionStrategy
- java.lang.Object
-
- org.ldaptive.AbstractFreezable
-
- org.ldaptive.AbstractConnectionStrategy
-
- All Implemented Interfaces:
Iterable<LdapURL>
,ConnectionStrategy
,Freezable
- Direct Known Subclasses:
AbstractPassiveConnectionStrategy
,DnsSrvConnectionStrategy
,RandomConnectionStrategy
,RoundRobinConnectionStrategy
public abstract class AbstractConnectionStrategy extends AbstractFreezable implements ConnectionStrategy
Base class for connection strategy implementations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
AbstractConnectionStrategy.DefaultLdapURLIterator
Default iterator implementation.
-
Field Summary
Fields Modifier and Type Field Description private Predicate<LdapURL>
activateCondition
Condition used to determine whether to activate a URL.private boolean
initialized
Whether this strategy has been successfully initialized.protected LdapURLSet
ldapURLSet
Set of LDAP URLs to attempt connections to.protected Logger
logger
Logger for this class.private Predicate<LdapURL>
retryCondition
Condition used to determine whether to test an inactive URL.
-
Constructor Summary
Constructors Constructor Description AbstractConnectionStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
failure(LdapURL url)
Indicates the supplied URL could not be connected to.Predicate<LdapURL>
getActivateCondition()
Returns the condition used to activate connections.Predicate<LdapURL>
getRetryCondition()
Returns the condition used to determine whether to attempt to activate a connection.void
initialize(String urls, Predicate<LdapURL> condition)
Prepare this strategy for use.boolean
isInitialized()
Whether this strategy is ready for use.void
populate(String urls, LdapURLSet urlSet)
Populates aLdapURLSet
from the URL string provided at configuration time.void
setRetryCondition(Predicate<LdapURL> condition)
Sets the retry condition which determines whether an attempt should be made to activate a URL.void
success(LdapURL url)
Indicates the supplied URL was successfully connected to.String
toString()
-
Methods inherited from class org.ldaptive.AbstractFreezable
assertMutable, freeze, freeze, freeze, isFrozen
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.ldaptive.ConnectionStrategy
newInstance
-
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
-
-
-
Field Detail
-
logger
protected final Logger logger
Logger for this class.
-
ldapURLSet
protected LdapURLSet ldapURLSet
Set of LDAP URLs to attempt connections to.
-
initialized
private boolean initialized
Whether this strategy has been successfully initialized.
-
activateCondition
private Predicate<LdapURL> activateCondition
Condition used to determine whether to activate a URL.
-
-
Method Detail
-
isInitialized
public boolean isInitialized()
Description copied from interface:ConnectionStrategy
Whether this strategy is ready for use.- Specified by:
isInitialized
in interfaceConnectionStrategy
- Returns:
- whether this strategy is ready for use
-
initialize
public void initialize(String urls, Predicate<LdapURL> condition)
Description copied from interface:ConnectionStrategy
Prepare this strategy for use.- Specified by:
initialize
in interfaceConnectionStrategy
- Parameters:
urls
- LDAP URLs for this strategycondition
- predicate to determine whether a connection is active
-
populate
public void populate(String urls, LdapURLSet urlSet)
Description copied from interface:ConnectionStrategy
Populates aLdapURLSet
from the URL string provided at configuration time.- Specified by:
populate
in interfaceConnectionStrategy
- Parameters:
urls
- Space-delimited string of URLs describing the LDAP hosts to connect to. The URLs in the string are commonlyldap://
orldaps://
URLs that directly describe the hosts to connect to, but may also describe a resource from which to obtain LDAP connection URLs as is the case forDnsSrvConnectionStrategy
that use URLs with the schemedns:
.urlSet
- LDAP URL set to populate.
-
getActivateCondition
public Predicate<LdapURL> getActivateCondition()
Description copied from interface:ConnectionStrategy
Returns the condition used to activate connections.- Specified by:
getActivateCondition
in interfaceConnectionStrategy
- Returns:
- activate condition
-
getRetryCondition
public Predicate<LdapURL> getRetryCondition()
Description copied from interface:ConnectionStrategy
Returns the condition used to determine whether to attempt to activate a connection.- Specified by:
getRetryCondition
in interfaceConnectionStrategy
- Returns:
- retry condition
-
setRetryCondition
public void setRetryCondition(Predicate<LdapURL> condition)
Sets the retry condition which determines whether an attempt should be made to activate a URL.- Parameters:
condition
- that determines whether to test an inactive URL
-
success
public void success(LdapURL url)
Description copied from interface:ConnectionStrategy
Indicates the supplied URL was successfully connected to.- Specified by:
success
in interfaceConnectionStrategy
- Parameters:
url
- which was successfully connected to
-
failure
public void failure(LdapURL url)
Description copied from interface:ConnectionStrategy
Indicates the supplied URL could not be connected to.- Specified by:
failure
in interfaceConnectionStrategy
- Parameters:
url
- which was could not be connected to
-
-