org.apache.directory.server.core.normalization
Class NormalizationService

java.lang.Object
  extended by org.apache.directory.server.core.interceptor.BaseInterceptor
      extended by org.apache.directory.server.core.normalization.NormalizationService
All Implemented Interfaces:
Interceptor

public class NormalizationService
extends BaseInterceptor

A name normalization service. This service makes sure all relative and distinuished names are normalized before calls are made against the respective interface methods on PartitionNexus.

Version:
$Rev: 437314 $
Author:
Apache Directory Project

Constructor Summary
NormalizationService()
           
 
Method Summary
 void add(NextInterceptor nextInterceptor, LdapDN name, javax.naming.directory.Attributes attrs)
          Filters Partition#add(org.apache.directory.shared.ldap.name.LdapDN,javax.naming.directory.Attributes) call.
 void addContextPartition(NextInterceptor next, PartitionConfiguration cfg)
          Filters PartitionNexus.addContextPartition(PartitionConfiguration) call.
 void bind(NextInterceptor next, LdapDN bindDn, byte[] credentials, java.util.List mechanisms, java.lang.String saslAuthId)
          Filters Partition#bind(org.apache.directory.shared.ldap.name.LdapDN,byte[],java.util.List,String) call.
 boolean compare(NextInterceptor next, LdapDN name, java.lang.String oid, java.lang.Object value)
          Filters PartitionNexus#compare(org.apache.directory.shared.ldap.name.LdapDN,String,Object) call.
 void delete(NextInterceptor nextInterceptor, LdapDN name)
          Filters Partition#delete(org.apache.directory.shared.ldap.name.LdapDN) call.
 void destroy()
          This method does nothing by default.
 LdapDN getMatchedName(NextInterceptor nextInterceptor, LdapDN name)
          Filters PartitionNexus#getMatchedName(org.apache.directory.shared.ldap.name.LdapDN) call.
 LdapDN getSuffix(NextInterceptor nextInterceptor, LdapDN name)
          Filters PartitionNexus#getSuffix(org.apache.directory.shared.ldap.name.LdapDN) call.
 boolean hasEntry(NextInterceptor nextInterceptor, LdapDN name)
          Filters Partition#lookup(org.apache.directory.shared.ldap.name.LdapDN,String[]) call.
 void init(DirectoryServiceConfiguration factoryCfg, InterceptorConfiguration cfg)
          This method does nothing by default.
 boolean isSuffix(NextInterceptor nextInterceptor, LdapDN name)
          Filters Partition#isSuffix(org.apache.directory.shared.ldap.name.LdapDN) call.
 javax.naming.NamingEnumeration list(NextInterceptor nextInterceptor, LdapDN base)
          Filters Partition#list(org.apache.directory.shared.ldap.name.LdapDN) call.
 javax.naming.directory.Attributes lookup(NextInterceptor nextInterceptor, LdapDN name)
          Filters Partition#lookup(org.apache.directory.shared.ldap.name.LdapDN) call.
 javax.naming.directory.Attributes lookup(NextInterceptor nextInterceptor, LdapDN name, java.lang.String[] attrIds)
          Filters Partition#lookup(org.apache.directory.shared.ldap.name.LdapDN,String[]) call.
 void modify(NextInterceptor nextInterceptor, LdapDN name, int modOp, javax.naming.directory.Attributes attrs)
          Filters Partition#modify(org.apache.directory.shared.ldap.name.LdapDN,int,javax.naming.directory.Attributes) call.
 void modify(NextInterceptor nextInterceptor, LdapDN name, javax.naming.directory.ModificationItem[] items)
          Filters Partition#modify(org.apache.directory.shared.ldap.name.LdapDN,javax.naming.directory.ModificationItem[]) call.
 void modifyRn(NextInterceptor nextInterceptor, LdapDN name, java.lang.String newRn, boolean deleteOldRn)
          Filters Partition#modifyRn(org.apache.directory.shared.ldap.name.LdapDN,String,boolean) call.
 void move(NextInterceptor nextInterceptor, LdapDN name, LdapDN newParentName)
          Filters Partition#move(org.apache.directory.shared.ldap.name.LdapDN,org.apache.directory.shared.ldap.name.LdapDN) call.
 void move(NextInterceptor nextInterceptor, LdapDN name, LdapDN newParentName, java.lang.String newRn, boolean deleteOldRn)
          Filters Partition#move(org.apache.directory.shared.ldap.name.LdapDN,org.apache.directory.shared.ldap.name.LdapDN,String,boolean) call.
 void removeContextPartition(NextInterceptor next, LdapDN suffix)
          Filters PartitionNexus#removeContextPartition(org.apache.directory.shared.ldap.name.LdapDN) call.
 javax.naming.NamingEnumeration search(NextInterceptor nextInterceptor, LdapDN base, java.util.Map env, ExprNode filter, javax.naming.directory.SearchControls searchCtls)
          Filters Partition#search(org.apache.directory.shared.ldap.name.LdapDN,java.util.Map,org.apache.directory.shared.ldap.filter.ExprNode,javax.naming.directory.SearchControls) call.
 
Methods inherited from class org.apache.directory.server.core.interceptor.BaseInterceptor
getContext, getPrincipal, getRootDSE, listSuffixes, unbind
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NormalizationService

public NormalizationService()
Method Detail

init

public void init(DirectoryServiceConfiguration factoryCfg,
                 InterceptorConfiguration cfg)
          throws javax.naming.NamingException
Description copied from class: BaseInterceptor
This method does nothing by default.

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

destroy

public void destroy()
Description copied from class: BaseInterceptor
This method does nothing by default.

Specified by:
destroy in interface Interceptor
Overrides:
destroy in class BaseInterceptor

add

public void add(NextInterceptor nextInterceptor,
                LdapDN name,
                javax.naming.directory.Attributes attrs)
         throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#add(org.apache.directory.shared.ldap.name.LdapDN,javax.naming.directory.Attributes) call.

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

delete

public void delete(NextInterceptor nextInterceptor,
                   LdapDN name)
            throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#delete(org.apache.directory.shared.ldap.name.LdapDN) call.

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

modify

public void modify(NextInterceptor nextInterceptor,
                   LdapDN name,
                   int modOp,
                   javax.naming.directory.Attributes attrs)
            throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#modify(org.apache.directory.shared.ldap.name.LdapDN,int,javax.naming.directory.Attributes) call.

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

modify

public void modify(NextInterceptor nextInterceptor,
                   LdapDN name,
                   javax.naming.directory.ModificationItem[] items)
            throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#modify(org.apache.directory.shared.ldap.name.LdapDN,javax.naming.directory.ModificationItem[]) call.

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

modifyRn

public void modifyRn(NextInterceptor nextInterceptor,
                     LdapDN name,
                     java.lang.String newRn,
                     boolean deleteOldRn)
              throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#modifyRn(org.apache.directory.shared.ldap.name.LdapDN,String,boolean) call.

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

move

public void move(NextInterceptor nextInterceptor,
                 LdapDN name,
                 LdapDN newParentName)
          throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#move(org.apache.directory.shared.ldap.name.LdapDN,org.apache.directory.shared.ldap.name.LdapDN) call.

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

move

public void move(NextInterceptor nextInterceptor,
                 LdapDN name,
                 LdapDN newParentName,
                 java.lang.String newRn,
                 boolean deleteOldRn)
          throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#move(org.apache.directory.shared.ldap.name.LdapDN,org.apache.directory.shared.ldap.name.LdapDN,String,boolean) call.

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

search

public javax.naming.NamingEnumeration search(NextInterceptor nextInterceptor,
                                             LdapDN base,
                                             java.util.Map env,
                                             ExprNode filter,
                                             javax.naming.directory.SearchControls searchCtls)
                                      throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#search(org.apache.directory.shared.ldap.name.LdapDN,java.util.Map,org.apache.directory.shared.ldap.filter.ExprNode,javax.naming.directory.SearchControls) call.

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

hasEntry

public boolean hasEntry(NextInterceptor nextInterceptor,
                        LdapDN name)
                 throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#lookup(org.apache.directory.shared.ldap.name.LdapDN,String[]) call.

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

isSuffix

public boolean isSuffix(NextInterceptor nextInterceptor,
                        LdapDN name)
                 throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#isSuffix(org.apache.directory.shared.ldap.name.LdapDN) call.

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

list

public javax.naming.NamingEnumeration list(NextInterceptor nextInterceptor,
                                           LdapDN base)
                                    throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#list(org.apache.directory.shared.ldap.name.LdapDN) call.

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

lookup

public javax.naming.directory.Attributes lookup(NextInterceptor nextInterceptor,
                                                LdapDN name)
                                         throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#lookup(org.apache.directory.shared.ldap.name.LdapDN) call.

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

lookup

public javax.naming.directory.Attributes lookup(NextInterceptor nextInterceptor,
                                                LdapDN name,
                                                java.lang.String[] attrIds)
                                         throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#lookup(org.apache.directory.shared.ldap.name.LdapDN,String[]) call.

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

getMatchedName

public LdapDN getMatchedName(NextInterceptor nextInterceptor,
                             LdapDN name)
                      throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters PartitionNexus#getMatchedName(org.apache.directory.shared.ldap.name.LdapDN) call.

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

getSuffix

public LdapDN getSuffix(NextInterceptor nextInterceptor,
                        LdapDN name)
                 throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters PartitionNexus#getSuffix(org.apache.directory.shared.ldap.name.LdapDN) call.

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

compare

public boolean compare(NextInterceptor next,
                       LdapDN name,
                       java.lang.String oid,
                       java.lang.Object value)
                throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters PartitionNexus#compare(org.apache.directory.shared.ldap.name.LdapDN,String,Object) call.

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

bind

public void bind(NextInterceptor next,
                 LdapDN bindDn,
                 byte[] credentials,
                 java.util.List mechanisms,
                 java.lang.String saslAuthId)
          throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters Partition#bind(org.apache.directory.shared.ldap.name.LdapDN,byte[],java.util.List,String) call.

Specified by:
bind in interface Interceptor
Overrides:
bind in class BaseInterceptor
Throws:
javax.naming.NamingException

addContextPartition

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

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

removeContextPartition

public void removeContextPartition(NextInterceptor next,
                                   LdapDN suffix)
                            throws javax.naming.NamingException
Description copied from interface: Interceptor
Filters PartitionNexus#removeContextPartition(org.apache.directory.shared.ldap.name.LdapDN) call.

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