Package net.shibboleth.spring.metadata

# Class HTTPMetadataProviderParser

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.AbstractReloadingMetadataProviderParser
net.shibboleth.spring.metadata.HTTPMetadataProviderParser

All Implemented Interfaces:
  `BeanDefinitionParser`

Direct Known Subclasses:
  `FileBackedHTTPMetadataProviderParser`

public abstract class HTTPMetadataProviderParser extends AbstractReloadingMetadataProviderParser
Parser for a FilesystemMetadataProvider.

## Field Summary

Fields
Modifier and Type
Field
Description
`private static final Class<?>`
`DEFAULT_CLIENT_CLASS`
Default caching type.
`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
`HTTPMetadataProviderParser()`

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

`getParserPoolRef, getTaskTimerRef`

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

@Nonnull private static final Class<?> DEFAULT_CLIENT_CLASS
Default caching type.

### log

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

## Constructor Details

### HTTPMetadataProviderParser

public HTTPMetadataProviderParser()

## 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 in setting the that we will be summoning up a class which extends `AbstractReloadingMetadataResolver`.

Overrides:
  `doNativeParse` in class `AbstractReloadingMetadataProviderParser`
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` - context
  `httpClientSecurityParameters` - the client security parameters to be used
Returns:
  the bean definition with the parameters.