Package net.shibboleth.spring.metadata

# Class AbstractDynamicHTTPMetadataProviderParser

java.lang.Object
org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
net.shibboleth.shared.spring.custom.AbstractCustomBeanDefinitionParser
net.shibboleth.spring.metadata.AbstractMetadataProviderParser
net.shibboleth.spring.metadata.AbstractDynamicMetadataProviderParser
net.shibboleth.spring.metadata.AbstractDynamicHTTPMetadataProviderParser

All Implemented Interfaces:
  `BeanDefinitionParser`

Direct Known Subclasses:
  `DynamicHTTPMetadataProviderParser`

public abstract class AbstractDynamicHTTPMetadataProviderParser extends AbstractDynamicMetadataProviderParser
Parser for abstract dynamic HTTP metadata resolvers.

## Field Summary

Fields
Modifier and Type
Field
Description
`private static final Class<?>`
`DEFAULT_CACHING_CLIENT_CLASS`
Default caching HttpClient class.
`private static final String`
`DEFAULT_CONNECTION_REQUEST_TIMEOUT`
Default request connection timeout.
`private static final String`
`DEFAULT_CONNECTION_TIMEOUT`
Default connection timeout.
`private static final Integer`
`DEFAULT_MAX_CONNECTIONS_PER_ROUTE`
Default max connections per route.
`private static final Integer`
`DEFAULT_MAX_CONNECTIONS_TOTAL`
Default max total connections.
`private static final Class<?>`
`DEFAULT_NON_CACHING_CLIENT_CLASS`
Default non-caching HttpClient class.
`private static final String`
`DEFAULT_RESPONSE_TIMEOUT`
Default response timeout.
`private static final String`
`DEFAULT_SOCKET_TIMEOUT`
Default socket timeout.
`private static final Boolean`
`DEFAULT_USE_CACHING_HTTP_CLIENT`
Default flag for use of caching HttpClient.
`private final org.slf4j.Logger`
`log`
Logger.

### Fields inherited from class net.shibboleth.spring.metadata.AbstractMetadataProviderParser

`CHAINING_PROVIDER_ELEMENT_NAME, METADATA_FILTER_ELEMENT_NAME, METADATA_NAMESPACE, SECURITY_NAMESPACE, TRUST_ENGINE_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
`AbstractDynamicHTTPMetadataProviderParser()`

## Method Summary

Modifier and Type
Method
Description
`private BeanDefinition`
`buildHttpClient(Element element, ParserContext parserContext, BeanDefinition httpClientSecurityParameters)`
Build the definition of the HTTPClientBuilder which contains all our configuration.
`protected void`
`doNativeParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)`
Parse the element into the provider builder.

### Methods inherited from class net.shibboleth.spring.metadata.AbstractDynamicMetadataProviderParser

`getParserPoolRef, getTaskTimerRef, processPersistentCachingProperties, processTimingProperties`

### Methods inherited from class net.shibboleth.spring.metadata.AbstractMetadataProviderParser

`doParse, getBeanClass, getNativeBeanClass`

### 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

### DEFAULT_USE_CACHING_HTTP_CLIENT

@Nonnull private static final Boolean DEFAULT_USE_CACHING_HTTP_CLIENT
Default flag for use of caching HttpClient.

### DEFAULT_CACHING_CLIENT_CLASS

@Nonnull private static final Class<?> DEFAULT_CACHING_CLIENT_CLASS
Default caching HttpClient class.

### DEFAULT_NON_CACHING_CLIENT_CLASS

@Nonnull private static final Class<?> DEFAULT_NON_CACHING_CLIENT_CLASS
Default non-caching HttpClient class.

### DEFAULT_MAX_CONNECTIONS_TOTAL

@Nonnull private static final Integer DEFAULT_MAX_CONNECTIONS_TOTAL
Default max total connections.

### DEFAULT_MAX_CONNECTIONS_PER_ROUTE

@Nonnull private static final Integer DEFAULT_MAX_CONNECTIONS_PER_ROUTE
Default max connections per route.

### DEFAULT_CONNECTION_REQUEST_TIMEOUT

@Nonnull @NotEmpty private static final String DEFAULT_CONNECTION_REQUEST_TIMEOUT
Default request connection timeout.

See Also:
  - Constant Field Values

### DEFAULT_CONNECTION_TIMEOUT

@Nonnull @NotEmpty private static final String DEFAULT_CONNECTION_TIMEOUT
Default connection timeout.

See Also:
  - Constant Field Values

### DEFAULT_SOCKET_TIMEOUT

@Nonnull @NotEmpty private static final String DEFAULT_SOCKET_TIMEOUT
Default socket timeout.

See Also:
  - Constant Field Values

### DEFAULT_RESPONSE_TIMEOUT

@Nonnull @NotEmpty private static final String DEFAULT_RESPONSE_TIMEOUT
Default response timeout.

See Also:
  - Constant Field Values

### log

private final org.slf4j.Logger log
Logger.

## Constructor Details

### AbstractDynamicHTTPMetadataProviderParser

public AbstractDynamicHTTPMetadataProviderParser()

## Method Details

### doNativeParse

protected void doNativeParse(@Nonnull Element element, @Nonnull ParserContext parserContext, @Nonnull BeanDefinitionBuilder builder)
Parse the element into the provider builder. This has the same function as the more usual `AbstractSingleBeanDefinitionParser.doParse(Element, ParserContext, BeanDefinitionBuilder)` but it may need to be shimmed in this class which may need to insert an extra bean. We assume that we will be summoning up a class which extends an `AbstractDynamicMetadataResolver`.

Overrides:
  `doNativeParse` in class `AbstractDynamicMetadataProviderParser`
Parameters:
  `element` - the XML element being parsed
  `parserContext` - the object encapsulating the current state of the parsing process
  `builder` - used to define the `BeanDefinition`
See Also:
  - `AbstractSingleBeanDefinitionParser.doParse(Element, BeanDefinitionBuilder)`

### buildHttpClient

@Nonnull private BeanDefinition buildHttpClient(@Nonnull Element element, @Nonnull ParserContext parserContext, @Nullable BeanDefinition httpClientSecurityParameters)
Build the definition of the HTTPClientBuilder which contains all our configuration.

Parameters:
  `element` - the HTTPMetadataProvider parser.
  `parserContext` - the context
  `httpClientSecurityParameters` - the client security parameters to be used
Returns:
  the bean definition with the parameters. Either httpClientSecurityParametersRef or httpClientSecurityParameters can be present, not both.