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
-
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
getOrder()
postProcessAfterInitialization
(Object bean, String beanName) postProcessBeforeInitialization
(Object bean, String beanName) void
setApplicationContext
(org.springframework.context.ApplicationContext applicationContext) void
setBaseLdapPathSourceName
(String contextSourceName) Set the name of theContextSource
bean to use for getting the base path.void
setBasePath
(String basePath) void
setBasePath
(DistinguishedName basePath) Deprecated.void
setOrder
(int order) Set the order value of this object for sorting purposes.
-
Constructor Details
-
BaseLdapPathBeanPostProcessor
public BaseLdapPathBeanPostProcessor()
-
-
Method Details
-
postProcessBeforeInitialization
- Specified by:
postProcessBeforeInitialization
in interfaceorg.springframework.beans.factory.config.BeanPostProcessor
-
postProcessAfterInitialization
- Specified by:
postProcessAfterInitialization
in interfaceorg.springframework.beans.factory.config.BeanPostProcessor
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) - Specified by:
setApplicationContext
in interfaceorg.springframework.context.ApplicationContextAware
-
setBasePath
Deprecated.DistinguishedName
and associated classes and methods are deprecated as of 2.0.Set the base path to be injected in allBaseLdapPathAware
beans. If this property is not set, the default base path will be determined from any definedBaseLdapPathSource
instances available in theApplicationContext
.- Parameters:
basePath
- the base path.
-
setBasePath
-
setBaseLdapPathSourceName
Set the name of theContextSource
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 theContextSource
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 toOrdered.LOWEST_PRECEDENCE
.- Since:
- 1.3.2
- See Also:
-
Ordered
-
getOrder
public int getOrder()- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
-
DistinguishedName
and associated classes and methods are deprecated as of 2.0.