public class SubentryInterceptor extends BaseInterceptor
directoryService, dnFactory, PWD_POLICY_STATE_ATTRIBUTE_TYPES, schemaManager
Constructor and Description |
---|
SubentryInterceptor()
Creates a new instance of SubentryInterceptor
|
Modifier and Type | Method and Description |
---|---|
void |
add(AddOperationContext addContext)
Filters
Partition.add( AddOperationContext ) call. |
void |
delete(DeleteOperationContext deleteContext)
Filters
Partition.delete( DeleteOperationContext ) call. |
void |
init(DirectoryService directoryService)
Initialize the Subentry Interceptor
|
void |
modify(ModifyOperationContext modifyContext)
Filters
Partition.modify( ModifyOperationContext ) call. |
void |
move(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(MoveAndRenameOperationContext moveAndRenameContext)
Filters MoveAndRename call.
|
void |
rename(RenameOperationContext renameContext)
Filters
Partition.rename( RenameOperationContext ) call. |
EntryFilteringCursor |
search(SearchOperationContext searchContext)
Filters
Partition.search( SearchOperationContext ) call. |
public SubentryInterceptor()
public void init(DirectoryService directoryService) throws org.apache.directory.api.ldap.model.exception.LdapException
init
in interface Interceptor
init
in class BaseInterceptor
directoryService
- The DirectoryService instanceorg.apache.directory.api.ldap.model.exception.LdapException
- If the initialization failedpublic void add(AddOperationContext addContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition.add( AddOperationContext )
call.add
in interface Interceptor
add
in class BaseInterceptor
addContext
- The AddOperationContext
instanceorg.apache.directory.api.ldap.model.exception.LdapException
- If we had some error while processing the Add operationpublic void delete(DeleteOperationContext deleteContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition.delete( DeleteOperationContext )
call.delete
in interface Interceptor
delete
in class BaseInterceptor
deleteContext
- The DeleteOperationContext
instanceorg.apache.directory.api.ldap.model.exception.LdapException
- If we had some error while processing the Delete operationpublic void modify(ModifyOperationContext modifyContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition.modify( ModifyOperationContext )
call.modify
in interface Interceptor
modify
in class BaseInterceptor
modifyContext
- The ModifyOperationContext
instanceorg.apache.directory.api.ldap.model.exception.LdapException
- If we had some error while processing the Modify operationpublic void move(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 Interceptor
move
in class BaseInterceptor
moveContext
- The context containing all the needed informations to proceedorg.apache.directory.api.ldap.model.exception.LdapException
- If the move failedpublic void moveAndRename(MoveAndRenameOperationContext moveAndRenameContext) throws org.apache.directory.api.ldap.model.exception.LdapException
moveAndRename
in interface Interceptor
moveAndRename
in class BaseInterceptor
moveAndRenameContext
- The MoveAndRenameOperationContext
instanceorg.apache.directory.api.ldap.model.exception.LdapException
- If we had some error while processing the MoveAndRename operationpublic void rename(RenameOperationContext renameContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition.rename( RenameOperationContext )
call.rename
in interface Interceptor
rename
in class BaseInterceptor
renameContext
- The RenameOperationContext
instanceorg.apache.directory.api.ldap.model.exception.LdapException
- If we had some error while processing the Rename operationpublic EntryFilteringCursor search(SearchOperationContext searchContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition.search( SearchOperationContext )
call.search
in interface Interceptor
search
in class BaseInterceptor
searchContext
- The SearchOperationContext
instanceorg.apache.directory.api.ldap.model.exception.LdapException
- If we had some error while processing the Search operationCopyright © 2003–2020 The Apache Software Foundation. All rights reserved.