Package org.ldaptive.beans.persistence
Class DefaultLdapEntryManager<T>
- java.lang.Object
-
- org.ldaptive.AbstractFreezable
-
- org.ldaptive.beans.persistence.DefaultLdapEntryManager<T>
-
- Type Parameters:
T
- type of object to manage
- All Implemented Interfaces:
LdapEntryManager<T>
,Freezable
public class DefaultLdapEntryManager<T> extends AbstractFreezable implements LdapEntryManager<T>
Default implementation of an ldap entry manager. Uses anLdapEntryMapper
to convert objects to entries, then invokes LDAP operations with those objects. By default, all attributes are requested using both the '*' and '+' syntaxes. For attributes that must be requested by name, useDefaultLdapEntryManager(LdapEntryMapper, ConnectionFactory, String[])
.
-
-
Field Summary
Fields Modifier and Type Field Description private AddOperation
addOperation
Add operation used to add a new entry.private ConnectionFactory
connectionFactory
Connection factory for LDAP communication.private DeleteOperation
deleteOperation
Delete operation used to remove an entry.private LdapEntryMapper<T>
ldapEntryMapper
Mapper for converting ldap entry to object type.protected Logger
logger
Logger for this class.private MergeOperation
mergeOperation
Merge operation used to merge an entry.private String[]
returnAttributes
Additional attributes to include in searches.private SearchOperation
searchOperation
Search operation used to find an entry.
-
Constructor Summary
Constructors Constructor Description DefaultLdapEntryManager(LdapEntryMapper<T> mapper, ConnectionFactory factory)
Creates a new default ldap entry manager.DefaultLdapEntryManager(LdapEntryMapper<T> mapper, ConnectionFactory factory, String[] attrs)
Creates a new default ldap entry manager.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AddResponse
add(T object)
Adds the supplied annotated object to an LDAP.AddResponse
add(T object, ResultPredicate predicate)
Adds the supplied annotated object to an LDAP.DeleteResponse
delete(T object)
Deletes the supplied annotated object from an LDAP.DeleteResponse
delete(T object, ResultPredicate predicate)
Deletes the supplied annotated object from an LDAP.T
find(T object)
Searches for the supplied annotated object in an LDAP and returns the object mapped with its ldap attribute properties set.AddOperation
getAddOperation()
ConnectionFactory
getConnectionFactory()
Returns the connection factory.DeleteOperation
getDeleteOperation()
LdapEntryMapper<T>
getLdapEntryMapper()
Returns the ldap entry mapper.MergeOperation
getMergeOperation()
String[]
getReturnAttributes()
Returns the return attributes.SearchOperation
getSearchOperation()
Result
merge(T object)
Merges the supplied annotated object in an LDAP.Result
merge(T object, ResultPredicate predicate)
Merges the supplied annotated object in an LDAP.void
setAddOperation(AddOperation operation)
void
setDeleteOperation(DeleteOperation operation)
void
setMergeOperation(MergeOperation operation)
void
setSearchOperation(SearchOperation operation)
-
Methods inherited from class org.ldaptive.AbstractFreezable
assertMutable, freeze, freeze, freeze, isFrozen
-
-
-
-
Field Detail
-
logger
protected final Logger logger
Logger for this class.
-
ldapEntryMapper
private final LdapEntryMapper<T> ldapEntryMapper
Mapper for converting ldap entry to object type.
-
connectionFactory
private final ConnectionFactory connectionFactory
Connection factory for LDAP communication.
-
returnAttributes
private final String[] returnAttributes
Additional attributes to include in searches.
-
searchOperation
private SearchOperation searchOperation
Search operation used to find an entry.
-
addOperation
private AddOperation addOperation
Add operation used to add a new entry.
-
mergeOperation
private MergeOperation mergeOperation
Merge operation used to merge an entry.
-
deleteOperation
private DeleteOperation deleteOperation
Delete operation used to remove an entry.
-
-
Constructor Detail
-
DefaultLdapEntryManager
public DefaultLdapEntryManager(LdapEntryMapper<T> mapper, ConnectionFactory factory)
Creates a new default ldap entry manager.- Parameters:
mapper
- for object conversionfactory
- for LDAP communication
-
DefaultLdapEntryManager
public DefaultLdapEntryManager(LdapEntryMapper<T> mapper, ConnectionFactory factory, String[] attrs)
Creates a new default ldap entry manager. Use of attrs is for cases where a directory does not support either the '*' or '+' syntaxes for returning all attributes of a given type.- Parameters:
mapper
- for object conversionfactory
- for LDAP communicationattrs
- additional return attributes
-
-
Method Detail
-
getLdapEntryMapper
public LdapEntryMapper<T> getLdapEntryMapper()
Returns the ldap entry mapper.- Returns:
- ldap entry mapper
-
getConnectionFactory
public ConnectionFactory getConnectionFactory()
Returns the connection factory.- Returns:
- connection factory
-
getReturnAttributes
public String[] getReturnAttributes()
Returns the return attributes.- Returns:
- additional attributes to include in searches.
-
getSearchOperation
public SearchOperation getSearchOperation()
-
setSearchOperation
public void setSearchOperation(SearchOperation operation)
-
getAddOperation
public AddOperation getAddOperation()
-
setAddOperation
public void setAddOperation(AddOperation operation)
-
getMergeOperation
public MergeOperation getMergeOperation()
-
setMergeOperation
public void setMergeOperation(MergeOperation operation)
-
getDeleteOperation
public DeleteOperation getDeleteOperation()
-
setDeleteOperation
public void setDeleteOperation(DeleteOperation operation)
-
find
public T find(T object) throws LdapException
Description copied from interface:LdapEntryManager
Searches for the supplied annotated object in an LDAP and returns the object mapped with its ldap attribute properties set.- Specified by:
find
in interfaceLdapEntryManager<T>
- Parameters:
object
- to find- Returns:
- mapped object
- Throws:
LdapException
- if the object cannot be found
-
add
public AddResponse add(T object) throws LdapException
Description copied from interface:LdapEntryManager
Adds the supplied annotated object to an LDAP.- Specified by:
add
in interfaceLdapEntryManager<T>
- Parameters:
object
- to add- Returns:
- LDAP response from the add operation
- Throws:
LdapException
- if the add fails
-
add
public AddResponse add(T object, ResultPredicate predicate) throws LdapException
Adds the supplied annotated object to an LDAP.- Parameters:
object
- to addpredicate
- to test the result and throw on failure- Returns:
- LDAP response from the add operation
- Throws:
LdapException
- if the add fails
-
merge
public Result merge(T object) throws LdapException
Description copied from interface:LdapEntryManager
Merges the supplied annotated object in an LDAP. SeeMergeOperation
.- Specified by:
merge
in interfaceLdapEntryManager<T>
- Parameters:
object
- to merge- Returns:
- LDAP response from the merge operation
- Throws:
LdapException
- if the merge fails
-
merge
public Result merge(T object, ResultPredicate predicate) throws LdapException
Merges the supplied annotated object in an LDAP. SeeMergeOperation
.- Parameters:
object
- to mergepredicate
- to test the result and throw on failure- Returns:
- LDAP response from the merge operation
- Throws:
LdapException
- if the merge fails
-
delete
public DeleteResponse delete(T object) throws LdapException
Description copied from interface:LdapEntryManager
Deletes the supplied annotated object from an LDAP.- Specified by:
delete
in interfaceLdapEntryManager<T>
- Parameters:
object
- to delete- Returns:
- LDAP response from the delete operation
- Throws:
LdapException
- if the delete fails
-
delete
public DeleteResponse delete(T object, ResultPredicate predicate) throws LdapException
Deletes the supplied annotated object from an LDAP.- Parameters:
object
- to deletepredicate
- to test the result and throw on failure- Returns:
- LDAP response from the delete operation
- Throws:
LdapException
- if the delete fails
-
-