Spring LDAP Framework

org.springframework.ldap.core.support
Class BaseLdapPathBeanPostProcessor

java.lang.Object
  extended by org.springframework.ldap.core.support.BaseLdapPathBeanPostProcessor
All Implemented Interfaces:
BeanPostProcessor, ApplicationContextAware

public class BaseLdapPathBeanPostProcessor
extends Object
implements BeanPostProcessor, ApplicationContextAware

This BeanPostProcessor checks each bean if it implements BaseLdapPathAware. If it does, the default context base LDAP path will be determined, and that value will be injected to the BaseLdapPathAware.setBaseLdapPath(DistinguishedName) method of the processed bean.

If the baseLdapPath property of this BeanPostProcessor is set, that value will be used. Otherwise, in order to determine which base LDAP path to supply to the instance the ApplicationContext is searched for any beans that are implementations of BaseLdapPathSource. If one single occurrence is found, that instance is queried for its base path, and that is what will be injected. If more than one BaseLdapPathSource instance is configured in the ApplicationContext, the name of the one to use will need to be specified to the baseLdapPathSourceName property; otherwise the post processing will fail. If no BaseLdapPathSource implementing bean is found in the context and the basePath property is not set, post processing will also fail.

Since:
1.2
Author:
Mattias Hellborg Arthursson

Constructor Summary
BaseLdapPathBeanPostProcessor()
           
 
Method Summary
 Object postProcessAfterInitialization(Object bean, String beanName)
           
 Object postProcessBeforeInitialization(Object bean, String beanName)
           
 void setApplicationContext(ApplicationContext applicationContext)
           
 void setBaseLdapPathSourceName(String contextSourceName)
          Set the name of the ContextSource bean to use for getting the base path.
 void setBasePath(DistinguishedName basePath)
          Set the base path to be injected in all BaseLdapPathAware beans.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseLdapPathBeanPostProcessor

public BaseLdapPathBeanPostProcessor()
Method Detail

postProcessBeforeInitialization

public Object postProcessBeforeInitialization(Object bean,
                                              String beanName)
                                       throws BeansException
Specified by:
postProcessBeforeInitialization in interface BeanPostProcessor
Throws:
BeansException

postProcessAfterInitialization

public Object postProcessAfterInitialization(Object bean,
                                             String beanName)
                                      throws BeansException
Specified by:
postProcessAfterInitialization in interface BeanPostProcessor
Throws:
BeansException

setApplicationContext

public void setApplicationContext(ApplicationContext applicationContext)
                           throws BeansException
Specified by:
setApplicationContext in interface ApplicationContextAware
Throws:
BeansException

setBasePath

public void setBasePath(DistinguishedName basePath)
Set the base path to be injected in all BaseLdapPathAware beans. If this property is not set, the default base path will be determined from any defined BaseLdapPathSource instances available in the ApplicationContext.

Parameters:
basePath - the base path.

setBaseLdapPathSourceName

public void setBaseLdapPathSourceName(String contextSourceName)
Set the name of the ContextSource bean to use for getting the base path. This method is typically useful if several ContextSource instances have been configured.

Parameters:
contextSourceName - the name of the ContextSource bean to use for determining the base path.

Spring LDAP Framework

Copyright © 2005-2010 The Spring LDAP Framework. All Rights Reserved.