Class BaseLdapPathBeanPostProcessor

java.lang.Object
org.springframework.ldap.core.support.BaseLdapPathBeanPostProcessor
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.context.ApplicationContextAware, org.springframework.core.Ordered

public class BaseLdapPathBeanPostProcessor extends Object implements org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.context.ApplicationContextAware, org.springframework.core.Ordered
This BeanPostProcessor checks each bean if it implements BaseLdapNameAware or BaseLdapPathAware. If it does, the default context base LDAP path will be determined, and that value will be injected to the BaseLdapNameAware.setBaseLdapPath(javax.naming.ldap.LdapName) or 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
  • Constructor Details

    • BaseLdapPathBeanPostProcessor

      public BaseLdapPathBeanPostProcessor()
  • Method Details

    • postProcessBeforeInitialization

      public Object postProcessBeforeInitialization(Object bean, String beanName)
      Specified by:
      postProcessBeforeInitialization in interface org.springframework.beans.factory.config.BeanPostProcessor
    • postProcessAfterInitialization

      public Object postProcessAfterInitialization(Object bean, String beanName)
      Specified by:
      postProcessAfterInitialization in interface org.springframework.beans.factory.config.BeanPostProcessor
    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
      Specified by:
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
    • setBasePath

      public void setBasePath(DistinguishedName basePath)
      Deprecated.
      DistinguishedName and associated classes and methods are deprecated as of 2.0.
      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.
    • setBasePath

      public void setBasePath(String basePath)
    • 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.
    • setOrder

      public void setOrder(int order)
      Set the order value of this object for sorting purposes.
      Parameters:
      order - the order of this instance. Defaults to Ordered.LOWEST_PRECEDENCE.
      Since:
      1.3.2
      See Also:
      • Ordered
    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered