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

# Class AbstractSAMLDataConnectorParser

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.saml.impl.AbstractSAMLDataConnectorParser

All Implemented Interfaces:
  `BeanDefinitionParser`

Direct Known Subclasses:
  `SimpleAggregationSAMLDataConnectorParser`

public abstract class AbstractSAMLDataConnectorParser extends AbstractDataConnectorParser
Base abstract parser for a `SAMLDataConnector`.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected static class`
`AbstractSAMLDataConnectorParser.CustomPropertyDef`
A class for representing the definition of a custom property.
`protected static class`
`AbstractSAMLDataConnectorParser.CustomPropertyValue`
A class for representing the value of a custom property.

## Field Summary

Fields
Modifier and Type
Field
Description
`private static final Map<String,AbstractSAMLDataConnectorParser.CustomPropertyDef>`
`CUSTOM_PROPERTY_DEFS`
Map of custom property definitions for bean wiring.
`private final org.slf4j.Logger`
`log`
Logger.
`private final Map<String,AbstractSAMLDataConnectorParser.CustomPropertyValue>`
`resolvedCustomProperties`
Map of custom bean properties for bean wiring.

### 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
Modifier
Constructor
Description
`protected`
`AbstractSAMLDataConnectorParser()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`addCustomProperties(BeanDefinitionBuilder builder, String... propNames)`
Add the specified indirected property values to the specified bean definition builder.
`protected abstract BeanDefinition`
`getAuthorityEntityIDStrategy(Element config, ParserContext parserContext)`
Get the bean definition for the `AttributeAuthorityEntityIDResolver`.
`protected AbstractSAMLDataConnectorParser.CustomPropertyValue`
`getResolvedCustomProperty(String propName)`
Get the resolved custom property value, if exists.
`protected abstract BeanDefinition`
`getSelfEntityIDStrategy(Element config, ParserContext parserContext)`
Get the bean definition for the `SelfEntityIDResolver`.
`protected abstract BeanDefinition`
`getSubjectStrategy(Element config, ParserContext parserContext)`
Get the bean definition for the `SubjectResolver`.
`protected BeanDefinition`
`parseAssertionValidationProcessor(Element config, ParserContext parserContext)`
Parse and return bean definition for `AssertionValidationProcessor`.
`private void`
`parseCommonDataConnector(Element config, ParserContext parserContext, BeanDefinitionBuilder builder)`
Parse the things that are a part of the base data connector class hierarchy.
`protected BeanDefinition`
`parseDecryptionProcessor(Element config, ParserContext parserContext)`
Parse and return bean definition for `DecryptionProcessor`.
`protected BeanDefinition`
`parseMappingStrategy(Element config, ParserContext parserContext)`
Parse the response mapping strategy.
`protected BeanDefinition`
`parseQueryBuilder(Element config, ParserContext parserContext)`
Parse the query builder.
`protected BeanDefinition`
`parseSAMLDataConnector(Element config, ParserContext parserContext)`
Parse the SAML data connector.
`protected BeanDefinition`
`parseSubjectMatchProcessor(Element config, ParserContext parserContext)`
Parse and return bean definition for `SubjectMatchProcessor`.
`protected void`
`resolveAndStoreCustomProperties(Map<String,AbstractSAMLDataConnectorParser.CustomPropertyDef> customPropertyDefs)`
Resolve and store the custom properties indicated by the input map.

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

`doParse, 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, getBeanClass, 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

### CUSTOM_PROPERTY_DEFS

@Nonnull private static final Map<String,AbstractSAMLDataConnectorParser.CustomPropertyDef> CUSTOM_PROPERTY_DEFS
Map of custom property definitions for bean wiring.

### resolvedCustomProperties

@Nonnull private final Map<String,AbstractSAMLDataConnectorParser.CustomPropertyValue> resolvedCustomProperties
Map of custom bean properties for bean wiring.

### log

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

## Constructor Details

### AbstractSAMLDataConnectorParser

protected AbstractSAMLDataConnectorParser()
Constructor.

## Method Details

### parseCommonDataConnector

private void parseCommonDataConnector(@Nonnull Element config, @Nonnull ParserContext parserContext, @Nonnull BeanDefinitionBuilder builder)
Parse the things that are a part of the base data connector class hierarchy.

Parameters:
  `config` - the configuration element
  `parserContext` - the current parser context
  `builder` - the builder to configure

### parseSAMLDataConnector

@Nonnull protected BeanDefinition parseSAMLDataConnector(@Nonnull Element config, @Nonnull ParserContext parserContext)
Parse the SAML data connector.

Parameters:
  `config` - the configuration element
  `parserContext` - the current parser context
Returns:
  the bean definition

### parseMappingStrategy

@Nonnull protected BeanDefinition parseMappingStrategy(@Nonnull Element config, @Nonnull ParserContext parserContext)
Parse the response mapping strategy.

Parameters:
  `config` - the configuration element
  `parserContext` - the current parser context
Returns:
  the bean definition

### parseQueryBuilder

@Nonnull protected BeanDefinition parseQueryBuilder(@Nonnull Element config, @Nonnull ParserContext parserContext)
Parse the query builder.

Parameters:
  `config` - the configuration element
  `parserContext` - the current parser context
Returns:
  the bean definition

### parseDecryptionProcessor

@Nonnull protected BeanDefinition parseDecryptionProcessor(@Nonnull Element config, @Nonnull ParserContext parserContext)
Parse and return bean definition for `DecryptionProcessor`.

Parameters:
  `config` - the configuration element
  `parserContext` - the current parser context
Returns:
  the bean definition

### parseAssertionValidationProcessor

@Nonnull protected BeanDefinition parseAssertionValidationProcessor(@Nonnull Element config, @Nonnull ParserContext parserContext)
Parse and return bean definition for `AssertionValidationProcessor`.

Parameters:
  `config` - the configuration element
  `parserContext` - the current parser context
Returns:
  the bean definition

### parseSubjectMatchProcessor

@Nonnull protected BeanDefinition parseSubjectMatchProcessor(@Nonnull Element config, @Nonnull ParserContext parserContext)
Parse and return bean definition for `SubjectMatchProcessor`.

Parameters:
  `config` - the configuration element
  `parserContext` - the current parser context
Returns:
  the bean definition

### getResolvedCustomProperty

@Nullable protected AbstractSAMLDataConnectorParser.CustomPropertyValue getResolvedCustomProperty(@Nonnull String propName)
Get the resolved custom property value, if exists.

Parameters:
  `propName` - the custom property name
Returns:
  the custom property value, or null

### addCustomProperties

protected void addCustomProperties(@Nonnull BeanDefinitionBuilder builder, @Nonnull String... propNames)
Add the specified indirected property values to the specified bean definition builder.

Parameters:
  `builder` - the bean definition builder
  `propNames` - the property names

### resolveAndStoreCustomProperties

protected void resolveAndStoreCustomProperties(@Nonnull Map<String,AbstractSAMLDataConnectorParser.CustomPropertyDef> customPropertyDefs)
Resolve and store the custom properties indicated by the input map.

Parameters:
  `customPropertyDefs` - the custom property definitions to resolve

### getAuthorityEntityIDStrategy

@Nonnull protected abstract BeanDefinition getAuthorityEntityIDStrategy(@Nonnull Element config, @Nonnull ParserContext parserContext)
Get the bean definition for the `AttributeAuthorityEntityIDResolver`.

Parameters:
  `config` - the configuration element
  `parserContext` - the current parser context
Returns:
  the bean definition

### getSelfEntityIDStrategy

@Nonnull protected abstract BeanDefinition getSelfEntityIDStrategy(@Nonnull Element config, @Nonnull ParserContext parserContext)
Get the bean definition for the `SelfEntityIDResolver`.

Parameters:
  `config` - the configuration element
  `parserContext` - the current parser context
Returns:
  the bean definition

### getSubjectStrategy

@Nonnull protected abstract BeanDefinition getSubjectStrategy(@Nonnull Element config, @Nonnull ParserContext parserContext)
Get the bean definition for the `SubjectResolver`.

Parameters:
  `config` - the configuration element
  `parserContext` - the current parser context
Returns:
  the bean definition