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 classAbstractConnectionStrategy.DefaultLdapURLIteratorDefault iterator implementation.
-
Field Summary
Fields Modifier and Type Field Description private Predicate<LdapURL>activateConditionCondition used to determine whether to activate a URL.private booleaninitializedWhether this strategy has been successfully initialized.protected LdapURLSetldapURLSetSet of LDAP URLs to attempt connections to.protected LoggerloggerLogger for this class.private Predicate<LdapURL>retryConditionCondition 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 voidfailure(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.voidinitialize(String urls, Predicate<LdapURL> condition)Prepare this strategy for use.booleanisInitialized()Whether this strategy is ready for use.voidpopulate(String urls, LdapURLSet urlSet)Populates aLdapURLSetfrom the URL string provided at configuration time.voidsetRetryCondition(Predicate<LdapURL> condition)Sets the retry condition which determines whether an attempt should be made to activate a URL.voidsuccess(LdapURL url)Indicates the supplied URL was successfully connected to.StringtoString()-
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:ConnectionStrategyWhether this strategy is ready for use.- Specified by:
isInitializedin interfaceConnectionStrategy- Returns:
- whether this strategy is ready for use
-
initialize
public void initialize(String urls, Predicate<LdapURL> condition)
Description copied from interface:ConnectionStrategyPrepare this strategy for use.- Specified by:
initializein 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:ConnectionStrategyPopulates aLdapURLSetfrom the URL string provided at configuration time.- Specified by:
populatein 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 forDnsSrvConnectionStrategythat use URLs with the schemedns:.urlSet- LDAP URL set to populate.
-
getActivateCondition
public Predicate<LdapURL> getActivateCondition()
Description copied from interface:ConnectionStrategyReturns the condition used to activate connections.- Specified by:
getActivateConditionin interfaceConnectionStrategy- Returns:
- activate condition
-
getRetryCondition
public Predicate<LdapURL> getRetryCondition()
Description copied from interface:ConnectionStrategyReturns the condition used to determine whether to attempt to activate a connection.- Specified by:
getRetryConditionin 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:ConnectionStrategyIndicates the supplied URL was successfully connected to.- Specified by:
successin interfaceConnectionStrategy- Parameters:
url- which was successfully connected to
-
failure
public void failure(LdapURL url)
Description copied from interface:ConnectionStrategyIndicates the supplied URL could not be connected to.- Specified by:
failurein interfaceConnectionStrategy- Parameters:
url- which was could not be connected to
-
-