public class LDAPReference extends AbstractReference
Please note that both static and dynamic references are resolved in read mode whereas only the static attribute strategy is used when creating new references or when deleting existing ones (write / update mode).
Some design considerations behind the implementation of such reference can be found at: http://jira.nuxeo.org/browse/NXP-1506
| Modifier and Type | Field and Description |
|---|---|
static List<String> |
EMPTY_STRING_LIST |
boolean |
forceDnConsistencyCheck |
| Constructor and Description |
|---|
LDAPReference() |
| Modifier and Type | Method and Description |
|---|---|
void |
addLinks(List<String> sourceIds,
String targetId)
Store new links using the LDAP staticAttributeId strategy.
|
void |
addLinks(String sourceId,
List<String> targetIds)
Store new links using the LDAP staticAttributeId strategy.
|
LDAPReference |
clone()
Returns a clone, added for hot reload support.
|
String |
getDynamicAttributeId() |
List<LDAPDynamicReferenceDescriptor> |
getDynamicAttributes() |
List<String> |
getLdapTargetIds(Attributes attributes)
Optimized method to spare a LDAP request when the caller is a
LDAPSession object that has already fetched the LDAP Attribute
instances.
|
Directory |
getSourceDirectory() |
List<String> |
getSourceIdsForTarget(String targetId)
Fetch both statically and dynamically defined references and merge the
results.
|
String |
getStaticAttributeId() |
String |
getStaticAttributeId(DirectoryFieldMapper sourceFM) |
Directory |
getTargetDirectory() |
List<String> |
getTargetIdsForSource(String sourceId)
Fetches both statically and dynamically defined references and merges
the results.
|
boolean |
isDynamic() |
boolean |
isStatic() |
void |
removeLinksForSource(String sourceId)
Remove existing statically defined links for the given source id
(dynamic references remain unaltered)
|
void |
removeLinksForTarget(String targetId)
Remove existing statically defined links for the given target id
(dynamic references remain unaltered)
|
void |
setFieldName(String fieldName) |
void |
setSourceIdsForTarget(String targetId,
List<String> sourceIds)
Edit the list of statically defined references for a given target
(dynamic references remain unaltered)
|
void |
setTargetDirectoryName(String targetDirectoryName) |
void |
setTargetIdsForSource(String sourceId,
List<String> targetIds)
Set the list of statically defined references for a given source
(dynamic references remain unaltered)
|
String |
toString() |
getFieldName, setSourceDirectoryNamepublic void setFieldName(String fieldName)
public boolean isStatic()
throws DirectoryException
DirectoryExceptionpublic String getStaticAttributeId() throws DirectoryException
DirectoryExceptionpublic String getStaticAttributeId(DirectoryFieldMapper sourceFM) throws DirectoryException
DirectoryExceptionpublic List<LDAPDynamicReferenceDescriptor> getDynamicAttributes()
public String getDynamicAttributeId()
public boolean isDynamic()
public void setTargetDirectoryName(String targetDirectoryName)
setTargetDirectoryName in interface ReferencesetTargetDirectoryName in class AbstractReferencepublic Directory getSourceDirectory() throws DirectoryException
getSourceDirectory in interface ReferencegetSourceDirectory in class AbstractReferenceDirectoryExceptionpublic Directory getTargetDirectory() throws DirectoryException
getTargetDirectory in interface ReferencegetTargetDirectory in class AbstractReferenceDirectoryExceptionpublic void addLinks(String sourceId, List<String> targetIds) throws DirectoryException
DirectoryExceptionReference.addLinks(String, List)public void addLinks(List<String> sourceIds, String targetId) throws DirectoryException
DirectoryExceptionReference.addLinks(List, String)public List<String> getSourceIdsForTarget(String targetId) throws DirectoryException
DirectoryExceptionReference.getSourceIdsForTarget(String)public List<String> getTargetIdsForSource(String sourceId) throws DirectoryException
DirectoryExceptionReference.getSourceIdsForTarget(String)public List<String> getLdapTargetIds(Attributes attributes) throws DirectoryException
This method should return the same results as the sister method: org.nuxeo .ecm.directory.Reference#getTargetIdsForSource(java.lang.String)
DirectoryExceptionpublic void removeLinksForSource(String sourceId) throws DirectoryException
DirectoryExceptionReference.removeLinksForSource(String)public void removeLinksForTarget(String targetId) throws DirectoryException
DirectoryExceptionReference.removeLinksForTarget(String)public void setSourceIdsForTarget(String targetId, List<String> sourceIds) throws DirectoryException
DirectoryExceptionReference.setSourceIdsForTarget(String,
List)public void setTargetIdsForSource(String sourceId, List<String> targetIds) throws DirectoryException
DirectoryExceptionReference.setTargetIdsForSource(String,
List)public LDAPReference clone()
Referenceclone in interface Referenceclone in class AbstractReferenceCopyright © 2014 Nuxeo SA. All Rights Reserved.