public class SubentryInterceptor
extends org.apache.directory.server.core.api.interceptor.BaseInterceptor
| Constructor and Description |
|---|
SubentryInterceptor()
Creates a new instance of SubentryInterceptor
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(org.apache.directory.server.core.api.interceptor.context.AddOperationContext addContext) |
void |
delete(org.apache.directory.server.core.api.interceptor.context.DeleteOperationContext deleteContext) |
void |
init(org.apache.directory.server.core.api.DirectoryService directoryService)
Initialize the Subentry Interceptor
|
void |
modify(org.apache.directory.server.core.api.interceptor.context.ModifyOperationContext modifyContext) |
void |
move(org.apache.directory.server.core.api.interceptor.context.MoveOperationContext moveContext)
The Move operation for a Subentry will deal with different cases :
1) we move a normal entry
2) we move a subentry
3) we move an administrationPoint
|
void |
moveAndRename(org.apache.directory.server.core.api.interceptor.context.MoveAndRenameOperationContext moveAndRenameContext) |
void |
rename(org.apache.directory.server.core.api.interceptor.context.RenameOperationContext renameContext) |
org.apache.directory.server.core.api.filtering.EntryFilteringCursor |
search(org.apache.directory.server.core.api.interceptor.context.SearchOperationContext searchContext) |
public SubentryInterceptor()
public void init(org.apache.directory.server.core.api.DirectoryService directoryService)
throws org.apache.directory.api.ldap.model.exception.LdapException
init in interface org.apache.directory.server.core.api.interceptor.Interceptorinit in class org.apache.directory.server.core.api.interceptor.BaseInterceptordirectoryService - The DirectoryService instanceorg.apache.directory.api.ldap.model.exception.LdapExceptionpublic void add(org.apache.directory.server.core.api.interceptor.context.AddOperationContext addContext)
throws org.apache.directory.api.ldap.model.exception.LdapException
add in interface org.apache.directory.server.core.api.interceptor.Interceptoradd in class org.apache.directory.server.core.api.interceptor.BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic void delete(org.apache.directory.server.core.api.interceptor.context.DeleteOperationContext deleteContext)
throws org.apache.directory.api.ldap.model.exception.LdapException
delete in interface org.apache.directory.server.core.api.interceptor.Interceptordelete in class org.apache.directory.server.core.api.interceptor.BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic void modify(org.apache.directory.server.core.api.interceptor.context.ModifyOperationContext modifyContext)
throws org.apache.directory.api.ldap.model.exception.LdapException
modify in interface org.apache.directory.server.core.api.interceptor.Interceptormodify in class org.apache.directory.server.core.api.interceptor.BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic void move(org.apache.directory.server.core.api.interceptor.context.MoveOperationContext moveContext)
throws org.apache.directory.api.ldap.model.exception.LdapException
Case 1 :
A normal entry (ie, not a subentry or an AP) may be part of some administrative areas.
We have to remove the references to the associated areas if the entry gets out of them.
This entry can also be moved to some other administrative area, and it should then be
updated to point to the associated subentries.
There is one preliminary condition : If the entry has a descendant which is an
Administrative Point, then the move cannot be done.
Case 2 :
The subentry has to be moved under a new AP, otherwise this is an error. Once moved,
we have to update all the entries selected by the old subtreeSpecification, removing
the references to the subentry from all the selected entry, and update the entries
selected by the new subtreeSpecification by adding a reference to the subentry into them.
Case 3 :
move in interface org.apache.directory.server.core.api.interceptor.Interceptormove in class org.apache.directory.server.core.api.interceptor.BaseInterceptornext - The next interceptor in the chainmoveContext - The context containing all the needed informations to proceedorg.apache.directory.api.ldap.model.exception.LdapException - If the move failedpublic void moveAndRename(org.apache.directory.server.core.api.interceptor.context.MoveAndRenameOperationContext moveAndRenameContext)
throws org.apache.directory.api.ldap.model.exception.LdapException
moveAndRename in interface org.apache.directory.server.core.api.interceptor.InterceptormoveAndRename in class org.apache.directory.server.core.api.interceptor.BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic void rename(org.apache.directory.server.core.api.interceptor.context.RenameOperationContext renameContext)
throws org.apache.directory.api.ldap.model.exception.LdapException
rename in interface org.apache.directory.server.core.api.interceptor.Interceptorrename in class org.apache.directory.server.core.api.interceptor.BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionpublic org.apache.directory.server.core.api.filtering.EntryFilteringCursor search(org.apache.directory.server.core.api.interceptor.context.SearchOperationContext searchContext)
throws org.apache.directory.api.ldap.model.exception.LdapException
search in interface org.apache.directory.server.core.api.interceptor.Interceptorsearch in class org.apache.directory.server.core.api.interceptor.BaseInterceptororg.apache.directory.api.ldap.model.exception.LdapExceptionCopyright © 2003–2016 The Apache Software Foundation. All rights reserved.