Package net.shibboleth.idp.attribute.resolver.spring.dc.ldap.impl

# Class LDAPDataConnectorParser

java.lang.Object
org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
net.shibboleth.shared.spring.custom.AbstractCustomBeanDefinitionParser
net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser
net.shibboleth.idp.attribute.resolver.spring.dc.AbstractDataConnectorParser
net.shibboleth.idp.attribute.resolver.spring.dc.ldap.impl.LDAPDataConnectorParser

All Implemented Interfaces:
  `BeanDefinitionParser`

public class LDAPDataConnectorParser extends AbstractDataConnectorParser
Bean definition Parser for a `LDAPDataConnector`. Note That parsing the V2 configuration will set some beans with hard wired defaults. See `doParse(Element, ParserContext, BeanDefinitionBuilder)`.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected static class`
`LDAPDataConnectorParser.V2Parser`
Utility class for parsing v2 schema configuration.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final org.slf4j.Logger`
`log`
Class logger.
`static final QName`
`TYPE_NAME`
Schema type - resolver.

### Fields inherited from class net.shibboleth.idp.attribute.resolver.spring.dc.AbstractDataConnectorParser

`ATTR_EXPORT_NAMES, ATTR_FAIL_FAST, ATTR_NORETRYDELAY, ELEMENT_NAME, FAIL_FAST_DEFAULT, FAILOVER_DATA_CONNECTOR_ELEMENT_NAME`

### Fields inherited from class net.shibboleth.shared.spring.custom.AbstractCustomBeanDefinitionParser

`CUSTOM_PARSER_PROPERTIES_LOCATION`

### Fields inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser

`ID_ATTRIBUTE, NAME_ATTRIBUTE`

## Constructor Summary

Constructors
Constructor
Description
`LDAPDataConnectorParser()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doParse(Element config, ParserContext parserContext, BeanDefinitionBuilder builder)`
Parses a version 2 configuration.
`protected Class<LDAPDataConnector>`
`getBeanClass(Element element)`

### Methods inherited from class net.shibboleth.idp.attribute.resolver.spring.dc.AbstractDataConnectorParser

`getLogPrefix`

### Methods inherited from class net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser

`failOnDependencies, getActivationCondition, getDefinitionId, warnOnDependencies`

### Methods inherited from class net.shibboleth.shared.spring.custom.AbstractCustomBeanDefinitionParser

`getCustomProperty, registerBeanDefinition`

### Methods inherited from class org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser

`doParse, getBeanClassName, getParentName, parseInternal`

### Methods inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser

`parse, postProcessComponentDefinition, resolveId, shouldFireEvents, shouldGenerateId, shouldGenerateIdAsFallback, shouldParseNameAsAliases`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### TYPE_NAME

@Nonnull public static final QName TYPE_NAME
Schema type - resolver.

### log

@Nonnull private final org.slf4j.Logger log
Class logger.

## Constructor Details

### LDAPDataConnectorParser

public LDAPDataConnectorParser()

## Method Details

### getBeanClass

@Nullable protected Class<LDAPDataConnector> getBeanClass(@Nonnull Element element)

Overrides:
  `getBeanClass` in class `AbstractSingleBeanDefinitionParser`

### doParse

protected void doParse(@Nonnull Element config, @Nonnull ParserContext parserContext, @Nonnull BeanDefinitionBuilder builder)
Parses a version 2 configuration.

The following automatically created & injected beans acquire hard wired defaults:

- `SearchRequest.setTimeLimit(Duration)` defaults to 3s, overridden by the "searchTimeLimit" attribute.
- `SearchRequest.setSizeLimit(int)` defaults to 1, overridden by the "maxResultSize" attribute.
- `SearchRequest.setBaseDn(String)` default to "", overridden by the "validateDN" attribute.
- `FilterTemplate.setFilter(String)` (String)} defaults to "(objectClass=*)", overridden by the "validateFilter" attribute.
- `AbstractConnectionPool.setMinPoolSize(int)` defaults to 0 if neither the attribute "poolInitialSize" nor the attribute "minPoolSize" are set.
- `AbstractConnectionPool.setMaxPoolSize(int)` defaults to 3 if neither the attribute "poolMaxIdleSize" nor the attribute "maxPoolSize" are set.
- `AbstractConnectionValidator.setValidatePeriod(Duration)` defaults to 30m, overridden by the attribute "validateTimerPeriod"

Overrides:
  `doParse` in class `AbstractDataConnectorParser`
Parameters:
  `config` - LDAPDirectory containing v2 configuration
  `parserContext` - bean definition parsing context
  `builder` - to initialize