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
Partition#moveAndRename( MoveAndRenameOperationContext) 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
public 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
org.apache.directory.api.ldap.model.exception.LdapException
public 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
org.apache.directory.api.ldap.model.exception.LdapException
public 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
next
- 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(MoveAndRenameOperationContext moveAndRenameContext) throws org.apache.directory.api.ldap.model.exception.LdapException
Partition#moveAndRename( MoveAndRenameOperationContext)
call.moveAndRename
in interface Interceptor
moveAndRename
in class BaseInterceptor
org.apache.directory.api.ldap.model.exception.LdapException
public 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
org.apache.directory.api.ldap.model.exception.LdapException
public 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
org.apache.directory.api.ldap.model.exception.LdapException
Copyright © 2017. All rights reserved.