public class MultiDirectorySession extends BaseSession
Each source can build an entry aggregating fields from one or several directories.
| Modifier and Type | Class and Description |
|---|---|
protected static class |
MultiDirectorySession.SourceInfo |
protected class |
MultiDirectorySession.SubDirectoryInfo |
directory, MULTI_TENANT_ID_FORMAT, permissions, POWER_USERS_GROUP, READONLY_ENTRY_FLAG| Constructor and Description |
|---|
MultiDirectorySession(MultiDirectory directory) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
authenticate(String username,
String password)
Checks that the credentials provided by the UserManager match those registered in the directory.
|
void |
close()
Closes the session and all open result sets obtained from this session.
|
DocumentModel |
createEntry(DocumentModel entry)
Creates an entry in a directory.
|
DocumentModel |
createEntry(Map<String,Object> fieldMap)
Creates an entry in a directory.
|
void |
deleteEntry(DocumentModel docModel)
Deletes a directory entry.
|
void |
deleteEntry(String id)
Deletes a directory entry by id.
|
void |
deleteEntry(String id,
Map<String,String> map)
Deletes a directory entry by id and secondary ids.
|
MultiDirectory |
getDirectory()
To be implemented with a more specific return type.
|
DocumentModelList |
getEntries()
Retrieves all the entries in the directory.
|
DocumentModel |
getEntry(String id)
Retrieves a directory entry using its id.
|
DocumentModel |
getEntry(String id,
boolean fetchReferences)
Retrieves a directory entry using its id.
|
String |
getName() |
List<String> |
getProjection(Map<String,Serializable> filter,
Set<String> fulltext,
String columnName) |
List<String> |
getProjection(Map<String,Serializable> filter,
String columnName)
Executes a query using filter and return only the column columnName.
|
boolean |
hasEntry(String id)
Returns true if session has an entry with given id.
|
DocumentModelList |
query(Map<String,Serializable> filter)
Executes a simple query.
|
DocumentModelList |
query(Map<String,Serializable> filter,
Set<String> fulltext)
Executes a simple query.
|
DocumentModelList |
query(Map<String,Serializable> filter,
Set<String> fulltext,
Map<String,String> orderBy)
Executes a simple query.
|
DocumentModelList |
query(Map<String,Serializable> filter,
Set<String> fulltext,
Map<String,String> orderBy,
boolean fetchReferences)
Executes a query with the possibility to fetch references
|
void |
updateEntry(DocumentModel docModel)
Updates a directory entry.
|
checkDeleteConstraints, checkPermission, computeMultiTenantDirectoryId, createEntryModel, createEntryModel, getIdField, getPasswordField, hasPermission, hasPermission, isAuthenticating, isReadOnly, isReadOnlyEntry, mkObjectMap, mkSerializableMap, query, setReadOnlyEntry, setReadWriteEntrypublic MultiDirectorySession(MultiDirectory directory)
public MultiDirectory getDirectory()
BaseSessiongetDirectory in class BaseSessionpublic void close() throws DirectoryException
SessionReleases this Connection object's resources immediately instead of waiting for them to be automatically released.
TODO: should this operation auto-commit pending changes?
DirectoryException - if a communication error occurspublic boolean authenticate(String username, String password)
Sessionpublic DocumentModel getEntry(String id) throws DirectoryException
SessionTODO what happens when the entry is not found? return null if not found?
id - the entry idDirectoryExceptionpublic DocumentModel getEntry(String id, boolean fetchReferences) throws DirectoryException
Sessionid - the entry idfetchReferences - boolean stating if references have to be fetchedDirectoryExceptionpublic DocumentModelList getEntries()
SessionDocumentModelList#totalsize on the returned list will return
-2 as a special marker for truncated results.public DocumentModel createEntry(Map<String,Object> fieldMap)
SessionfieldMap - A map with keys and values that should be stored in a directory
Note: The values in the map should be of type String
public void deleteEntry(DocumentModel docModel)
SessiondocModel - The entry to deletepublic void deleteEntry(String id)
Sessionid - the id of the entry to deletepublic void deleteEntry(String id, Map<String,String> map) throws DirectoryException
SessionThis is used for hierarchical vocabularies, where the actual unique key is the couple (parent, id).
id - the id of the entry to delete.map - a map of seconday key values.DirectoryException - if a communication error occurs.public void updateEntry(DocumentModel docModel)
SessiondocModel - The entry to updatepublic DocumentModelList query(Map<String,Serializable> filter)
SessionDoes not fetch reference fields.
If the remote server issues a size limit exceeded error while sending partial results up to that limit, the methodDocumentModelList#totalsize on the returned list will return -2 as a special marker for truncated
results.filter - a filter to apply to entries in directorypublic DocumentModelList query(Map<String,Serializable> filter, Set<String> fulltext)
SessionfieldNames present in the fulltext set are treated as a fulltext match. Does not fetch reference fields.
If the remote server issues a size limit exceeded error while sending partial results up to that limit, the methodDocumentModelList#totalsize on the returned list will return -2 as a special marker for truncated
results.filter - a filter to apply to entries in directoryfulltext - a set of field that should be treated as a fulltext searchpublic DocumentModelList query(Map<String,Serializable> filter, Set<String> fulltext, Map<String,String> orderBy)
SessionfieldNames present in the fulltext set are treated as a fulltext match. Does not fetch reference fields.
If the remote server issues a size limit exceeded error while sending partial results up to that limit, the methodDocumentModelList#totalsize on the returned list will return -2 as a special marker for truncated
results.filter - a filter to apply to entries in directoryfulltext - a set of field that should be treated as a fulltext searchorderBy - a LinkedHashMap with the 'order by' criterias.The key of an entry of this map represents the
column name and the value of the same entry represent the column order,which may be 'asc' or 'desc'.public DocumentModelList query(Map<String,Serializable> filter, Set<String> fulltext, Map<String,String> orderBy, boolean fetchReferences)
SessionSession.query(Map, Set, Map)public List<String> getProjection(Map<String,Serializable> filter, String columnName)
Sessionfilter - the filter for the querycolumnName - the column whose content should be returnedpublic List<String> getProjection(Map<String,Serializable> filter, Set<String> fulltext, String columnName)
public DocumentModel createEntry(DocumentModel entry)
Sessionentry - the document model representing the entry to createCopyright © 2016 Nuxeo SA. All rights reserved.