org.apache.ldap.server.interceptor
Class BaseInterceptor

java.lang.Object
  extended by org.apache.ldap.server.interceptor.BaseInterceptor
All Implemented Interfaces:
Interceptor
Direct Known Subclasses:
AuthenticationService, AuthorizationService, CollectiveAttributeService, EventService, ExceptionService, NormalizationService, OldAuthorizationService, OperationalAttributeService, SchemaService, SubentryService

public abstract class BaseInterceptor
extends java.lang.Object
implements Interceptor

A easy-to-use implementation of Interceptor. All methods are implemented to pass the flow of control to next interceptor by defaults. Please override the methods you have concern in.

Version:
$Rev: 307234 $, $Date: 2005-10-07 21:43:33 -0400 (Fri, 07 Oct 2005) $
Author:
Apache Directory Project

Constructor Summary
protected BaseInterceptor()
          Creates a new instance.
 
Method Summary
 void add(NextInterceptor next, java.lang.String upName, javax.naming.Name normName, javax.naming.directory.Attributes entry)
          Filters DirectoryPartition.add(String, Name, Attributes) call.
 void addContextPartition(NextInterceptor next, DirectoryPartitionConfiguration cfg)
          Filters DirectoryPartitionNexus.addContextPartition(DirectoryPartitionConfiguration) call.
 boolean compare(NextInterceptor next, javax.naming.Name name, java.lang.String oid, java.lang.Object value)
          Filters DirectoryPartitionNexus.compare(Name,String,Object) call.
 void delete(NextInterceptor next, javax.naming.Name name)
          Filters DirectoryPartition.delete(Name) call.
 void destroy()
          This method does nothing by default.
static javax.naming.ldap.LdapContext getContext()
          Returns the current JNDI Context.
 javax.naming.Name getMatchedName(NextInterceptor next, javax.naming.Name dn, boolean normalized)
          Filters DirectoryPartitionNexus.getMatchedName(Name, boolean) call.
static LdapPrincipal getPrincipal()
          Returns LdapPrincipal of current context.
 javax.naming.directory.Attributes getRootDSE(NextInterceptor next)
          Filters DirectoryPartitionNexus.getRootDSE() call.
 javax.naming.Name getSuffix(NextInterceptor next, javax.naming.Name dn, boolean normalized)
          Filters DirectoryPartitionNexus.getSuffix(Name, boolean) call.
 boolean hasEntry(NextInterceptor next, javax.naming.Name name)
          Filters DirectoryPartition.lookup(Name, String[]) call.
 void init(DirectoryServiceConfiguration factoryCfg, InterceptorConfiguration cfg)
          This method does nothing by default.
 boolean isSuffix(NextInterceptor next, javax.naming.Name name)
          Filters DirectoryPartition.isSuffix(Name) call.
 javax.naming.NamingEnumeration list(NextInterceptor next, javax.naming.Name base)
          Filters DirectoryPartition.list(Name) call.
 java.util.Iterator listSuffixes(NextInterceptor next, boolean normalized)
          Filters DirectoryPartitionNexus.listSuffixes(boolean) call.
 javax.naming.directory.Attributes lookup(NextInterceptor next, javax.naming.Name name)
          Filters DirectoryPartition.lookup(Name) call.
 javax.naming.directory.Attributes lookup(NextInterceptor next, javax.naming.Name dn, java.lang.String[] attrIds)
          Filters DirectoryPartition.lookup(Name, String[]) call.
 void modify(NextInterceptor next, javax.naming.Name name, int modOp, javax.naming.directory.Attributes mods)
          Filters DirectoryPartition.modify(Name, int, Attributes) call.
 void modify(NextInterceptor next, javax.naming.Name name, javax.naming.directory.ModificationItem[] mods)
          Filters DirectoryPartition.modify(Name, ModificationItem[]) call.
 void modifyRn(NextInterceptor next, javax.naming.Name name, java.lang.String newRn, boolean deleteOldRn)
          Filters DirectoryPartition.modifyRn(Name, String, boolean) call.
 void move(NextInterceptor next, javax.naming.Name oriChildName, javax.naming.Name newParentName)
          Filters DirectoryPartition.move(Name, Name) call.
 void move(NextInterceptor next, javax.naming.Name oriChildName, javax.naming.Name newParentName, java.lang.String newRn, boolean deleteOldRn)
          Filters DirectoryPartition.move(Name, Name, String, boolean) call.
 void removeContextPartition(NextInterceptor next, javax.naming.Name suffix)
          Filters DirectoryPartitionNexus.removeContextPartition(Name) call.
 javax.naming.NamingEnumeration search(NextInterceptor next, javax.naming.Name base, java.util.Map env, org.apache.ldap.common.filter.ExprNode filter, javax.naming.directory.SearchControls searchCtls)
          Filters DirectoryPartition.search(Name, Map, ExprNode, SearchControls) call.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseInterceptor

protected BaseInterceptor()
Creates a new instance.

Method Detail

getPrincipal

public static LdapPrincipal getPrincipal()
Returns LdapPrincipal of current context.


getContext

public static javax.naming.ldap.LdapContext getContext()
Returns the current JNDI Context.


init

public void init(DirectoryServiceConfiguration factoryCfg,
                 InterceptorConfiguration cfg)
          throws javax.naming.NamingException
This method does nothing by default.

Specified by:
init in interface Interceptor
Throws:
javax.naming.NamingException

destroy

public void destroy()
This method does nothing by default.

Specified by:
destroy in interface Interceptor

add

public void add(NextInterceptor next,
                java.lang.String upName,
                javax.naming.Name normName,
                javax.naming.directory.Attributes entry)
         throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.add(String, Name, Attributes) call.

Specified by:
add in interface Interceptor
Throws:
javax.naming.NamingException

delete

public void delete(NextInterceptor next,
                   javax.naming.Name name)
            throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.delete(Name) call.

Specified by:
delete in interface Interceptor
Throws:
javax.naming.NamingException

getMatchedName

public javax.naming.Name getMatchedName(NextInterceptor next,
                                        javax.naming.Name dn,
                                        boolean normalized)
                                 throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartitionNexus.getMatchedName(Name, boolean) call.

Specified by:
getMatchedName in interface Interceptor
Throws:
javax.naming.NamingException

getRootDSE

public javax.naming.directory.Attributes getRootDSE(NextInterceptor next)
                                             throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartitionNexus.getRootDSE() call.

Specified by:
getRootDSE in interface Interceptor
Throws:
javax.naming.NamingException

getSuffix

public javax.naming.Name getSuffix(NextInterceptor next,
                                   javax.naming.Name dn,
                                   boolean normalized)
                            throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartitionNexus.getSuffix(Name, boolean) call.

Specified by:
getSuffix in interface Interceptor
Throws:
javax.naming.NamingException

hasEntry

public boolean hasEntry(NextInterceptor next,
                        javax.naming.Name name)
                 throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.lookup(Name, String[]) call.

Specified by:
hasEntry in interface Interceptor
Throws:
javax.naming.NamingException

isSuffix

public boolean isSuffix(NextInterceptor next,
                        javax.naming.Name name)
                 throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.isSuffix(Name) call.

Specified by:
isSuffix in interface Interceptor
Throws:
javax.naming.NamingException

list

public javax.naming.NamingEnumeration list(NextInterceptor next,
                                           javax.naming.Name base)
                                    throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.list(Name) call.

Specified by:
list in interface Interceptor
Throws:
javax.naming.NamingException

listSuffixes

public java.util.Iterator listSuffixes(NextInterceptor next,
                                       boolean normalized)
                                throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartitionNexus.listSuffixes(boolean) call.

Specified by:
listSuffixes in interface Interceptor
Throws:
javax.naming.NamingException

lookup

public javax.naming.directory.Attributes lookup(NextInterceptor next,
                                                javax.naming.Name dn,
                                                java.lang.String[] attrIds)
                                         throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.lookup(Name, String[]) call.

Specified by:
lookup in interface Interceptor
Throws:
javax.naming.NamingException

lookup

public javax.naming.directory.Attributes lookup(NextInterceptor next,
                                                javax.naming.Name name)
                                         throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.lookup(Name) call.

Specified by:
lookup in interface Interceptor
Throws:
javax.naming.NamingException

modify

public void modify(NextInterceptor next,
                   javax.naming.Name name,
                   int modOp,
                   javax.naming.directory.Attributes mods)
            throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.modify(Name, int, Attributes) call.

Specified by:
modify in interface Interceptor
Throws:
javax.naming.NamingException

modify

public void modify(NextInterceptor next,
                   javax.naming.Name name,
                   javax.naming.directory.ModificationItem[] mods)
            throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.modify(Name, ModificationItem[]) call.

Specified by:
modify in interface Interceptor
Throws:
javax.naming.NamingException

modifyRn

public void modifyRn(NextInterceptor next,
                     javax.naming.Name name,
                     java.lang.String newRn,
                     boolean deleteOldRn)
              throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.modifyRn(Name, String, boolean) call.

Specified by:
modifyRn in interface Interceptor
Throws:
javax.naming.NamingException

move

public void move(NextInterceptor next,
                 javax.naming.Name oriChildName,
                 javax.naming.Name newParentName,
                 java.lang.String newRn,
                 boolean deleteOldRn)
          throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.move(Name, Name, String, boolean) call.

Specified by:
move in interface Interceptor
Throws:
javax.naming.NamingException

move

public void move(NextInterceptor next,
                 javax.naming.Name oriChildName,
                 javax.naming.Name newParentName)
          throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.move(Name, Name) call.

Specified by:
move in interface Interceptor
Throws:
javax.naming.NamingException

search

public javax.naming.NamingEnumeration search(NextInterceptor next,
                                             javax.naming.Name base,
                                             java.util.Map env,
                                             org.apache.ldap.common.filter.ExprNode filter,
                                             javax.naming.directory.SearchControls searchCtls)
                                      throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartition.search(Name, Map, ExprNode, SearchControls) call.

Specified by:
search in interface Interceptor
Throws:
javax.naming.NamingException

addContextPartition

public void addContextPartition(NextInterceptor next,
                                DirectoryPartitionConfiguration cfg)
                         throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartitionNexus.addContextPartition(DirectoryPartitionConfiguration) call.

Specified by:
addContextPartition in interface Interceptor
Throws:
javax.naming.NamingException

removeContextPartition

public void removeContextPartition(NextInterceptor next,
                                   javax.naming.Name suffix)
                            throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartitionNexus.removeContextPartition(Name) call.

Specified by:
removeContextPartition in interface Interceptor
Throws:
javax.naming.NamingException

compare

public boolean compare(NextInterceptor next,
                       javax.naming.Name name,
                       java.lang.String oid,
                       java.lang.Object value)
                throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters DirectoryPartitionNexus.compare(Name,String,Object) call.

Specified by:
compare in interface Interceptor
Throws:
javax.naming.NamingException