org.apache.ldap.server.interceptor
Class BaseInterceptor

java.lang.Object
  extended byorg.apache.ldap.server.interceptor.BaseInterceptor
All Implemented Interfaces:
Interceptor
Direct Known Subclasses:
AuthenticationService, AuthorizationService, ExceptionService, NormalizationService, OperationalAttributeService, SchemaService

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: 264732 $, $Date: 2005-08-30 04:04:51 -0400 (Tue, 30 Aug 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 ContextPartition#add(String, Name, Attributes) call.
 void addContextPartition(NextInterceptor next, ContextPartitionConfiguration cfg)
          Filters ContextPartitionNexus#addContextPartition(ContextPartitionConfiguration) call.
 void delete(NextInterceptor next, javax.naming.Name name)
          Filters ContextPartition#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 ContextPartitionNexus#getMatchedName(Name, boolean) call.
static LdapPrincipal getPrincipal()
          Returns LdapPrincipal of current context.
 javax.naming.directory.Attributes getRootDSE(NextInterceptor next)
          Filters ContextPartitionNexus#getRootDSE() call.
 javax.naming.Name getSuffix(NextInterceptor next, javax.naming.Name dn, boolean normalized)
          Filters ContextPartitionNexus#getSuffix(Name, boolean) call.
 boolean hasEntry(NextInterceptor next, javax.naming.Name name)
          Filters ContextPartition#lookup(Name, String[]) call.
 void init(ContextFactoryConfiguration factoryCfg, InterceptorConfiguration cfg)
          This method does nothing by default.
 boolean isSuffix(NextInterceptor next, javax.naming.Name name)
          Filters ContextPartition#isSuffix(Name) call.
 javax.naming.NamingEnumeration list(NextInterceptor next, javax.naming.Name base)
          Filters ContextPartition#list(Name) call.
 java.util.Iterator listSuffixes(NextInterceptor next, boolean normalized)
          Filters ContextPartitionNexus#listSuffixes(boolean) call.
 javax.naming.directory.Attributes lookup(NextInterceptor next, javax.naming.Name name)
          Filters ContextPartition#lookup(Name) call.
 javax.naming.directory.Attributes lookup(NextInterceptor next, javax.naming.Name dn, java.lang.String[] attrIds)
          Filters ContextPartition#lookup(Name, String[]) call.
 void modify(NextInterceptor next, javax.naming.Name name, int modOp, javax.naming.directory.Attributes mods)
          Filters ContextPartition#modify(Name, int, Attributes) call.
 void modify(NextInterceptor next, javax.naming.Name name, javax.naming.directory.ModificationItem[] mods)
          Filters ContextPartition#modify(Name, ModificationItem[]) call.
 void modifyRn(NextInterceptor next, javax.naming.Name name, java.lang.String newRn, boolean deleteOldRn)
          Filters ContextPartition#modifyRn(Name, String, boolean) call.
 void move(NextInterceptor next, javax.naming.Name oriChildName, javax.naming.Name newParentName)
          Filters ContextPartition#move(Name, Name) call.
 void move(NextInterceptor next, javax.naming.Name oriChildName, javax.naming.Name newParentName, java.lang.String newRn, boolean deleteOldRn)
          Filters ContextPartition#move(Name, Name, String, boolean) call.
 void removeContextPartition(NextInterceptor next, javax.naming.Name suffix)
          Filters ContextPartitionNexus#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 ContextPartition#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(ContextFactoryConfiguration 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 ContextPartition.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 ContextPartition.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 ContextPartitionNexus.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 ContextPartitionNexus.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 ContextPartitionNexus.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 ContextPartition.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 ContextPartition.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 ContextPartition.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 ContextPartitionNexus.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 ContextPartition.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 ContextPartition.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 ContextPartition.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 ContextPartition.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 ContextPartition.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 ContextPartition.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 ContextPartition.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 ContextPartition.search(Name, Map, ExprNode, SearchControls) call.

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

addContextPartition

public void addContextPartition(NextInterceptor next,
                                ContextPartitionConfiguration cfg)
                         throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters ContextPartitionNexus.addContextPartition(ContextPartitionConfiguration) 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 ContextPartitionNexus.removeContextPartition(Name) call.

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