Package org.ldaptive.auth
Class AggregateEntryResolver
- java.lang.Object
-
- org.ldaptive.AbstractFreezable
-
- org.ldaptive.auth.AggregateEntryResolver
-
- All Implemented Interfaces:
EntryResolver
,Freezable
public final class AggregateEntryResolver extends AbstractFreezable implements EntryResolver
Used in conjunction with anAggregateDnResolver
to resolve an entry. In particular, the resolved DN is expected to be of the form: label:DN where the label indicates the entry resolver to use. This class only invokes one entry resolver that matches the label found on the DN.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AggregateEntryResolver.Builder
-
Field Summary
Fields Modifier and Type Field Description private Map<String,EntryResolver>
entryResolvers
Labeled entry resolvers.private Logger
logger
Logger for this class.
-
Constructor Summary
Constructors Constructor Description AggregateEntryResolver()
Default constructor.AggregateEntryResolver(Map<String,EntryResolver> resolvers)
Creates a new aggregate entry resolver.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEntryResolver(String label, EntryResolver resolver)
Adds an entry resolver with the supplied label.static AggregateEntryResolver.Builder
builder()
Creates a builder for this class.void
freeze()
Freezes this object, making it immutable.Map<String,EntryResolver>
getEntryResolvers()
Returns the entry resolvers to aggregate over.LdapEntry
resolve(AuthenticationCriteria criteria, AuthenticationHandlerResponse response)
Attempts to find the LDAP entry for the supplied authentication criteria and authentication handler response.void
setEntryResolvers(Map<String,EntryResolver> resolvers)
Sets the entry resolvers to aggregate over.-
Methods inherited from class org.ldaptive.AbstractFreezable
assertMutable, freeze, freeze, isFrozen
-
-
-
-
Field Detail
-
logger
private final Logger logger
Logger for this class.
-
entryResolvers
private final Map<String,EntryResolver> entryResolvers
Labeled entry resolvers.
-
-
Constructor Detail
-
AggregateEntryResolver
public AggregateEntryResolver()
Default constructor.
-
AggregateEntryResolver
public AggregateEntryResolver(Map<String,EntryResolver> resolvers)
Creates a new aggregate entry resolver.- Parameters:
resolvers
- entry resolvers
-
-
Method Detail
-
freeze
public void freeze()
Description copied from interface:Freezable
Freezes this object, making it immutable.- Specified by:
freeze
in interfaceFreezable
- Overrides:
freeze
in classAbstractFreezable
-
getEntryResolvers
public Map<String,EntryResolver> getEntryResolvers()
Returns the entry resolvers to aggregate over.- Returns:
- map of label to entry resolver
-
setEntryResolvers
public void setEntryResolvers(Map<String,EntryResolver> resolvers)
Sets the entry resolvers to aggregate over.- Parameters:
resolvers
- to set
-
addEntryResolver
public void addEntryResolver(String label, EntryResolver resolver)
Adds an entry resolver with the supplied label.- Parameters:
label
- of the resolverresolver
- entry resolver
-
resolve
public LdapEntry resolve(AuthenticationCriteria criteria, AuthenticationHandlerResponse response) throws LdapException
Description copied from interface:EntryResolver
Attempts to find the LDAP entry for the supplied authentication criteria and authentication handler response. The connection available in the response should not be closed in this method.- Specified by:
resolve
in interfaceEntryResolver
- Parameters:
criteria
- authentication criteria used to perform the authenticationresponse
- produced by the authentication handler- Returns:
- ldap entry
- Throws:
LdapException
- if an LDAP error occurs
-
builder
public static AggregateEntryResolver.Builder builder()
Creates a builder for this class.- Returns:
- new builder
-
-