Package net.shibboleth.spring.metadata

# Class AbstractDynamicMetadataProviderParser

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

All Implemented Interfaces:
  `BeanDefinitionParser`

Direct Known Subclasses:
  `AbstractDynamicHTTPMetadataProviderParser`, `LocalDynamicMetadataProviderParser`

public abstract class AbstractDynamicMetadataProviderParser extends AbstractMetadataProviderParser
Parser for `AbstractDynamicMetadataResolver`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private org.slf4j.Logger`
`log`
Logger.
`private final String`
`parserPoolRef`
Bean ID for defaulted `ParserPool` instance.

### 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
`AbstractDynamicMetadataProviderParser()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doNativeParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)`
Parse the element into the provider builder.
`protected String`
`getParserPoolRef(Element element)`
Gets the default parser pool reference for the metadata provider.
`protected String`
`getTaskTimerRef(Element element)`
Gets the default task timer reference for the metadata provider.
`protected void`
`processPersistentCachingProperties(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)`
Process options related to persistent caching support.
`protected void`
`processTimingProperties(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)`
Process options related to time.

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

### log

@Nonnull private org.slf4j.Logger log
Logger.

### parserPoolRef

@Nullable private final String parserPoolRef
Bean ID for defaulted `ParserPool` instance.

## Constructor Details

### AbstractDynamicMetadataProviderParser

public AbstractDynamicMetadataProviderParser()
Constructor.

## 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 `AbstractMetadataProviderParser`
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)`

### processTimingProperties

protected void processTimingProperties(@Nonnull Element element, @Nonnull ParserContext parserContext, @Nonnull BeanDefinitionBuilder builder)
Process options related to time.

Parameters:
  `element` - current element
  `parserContext` - current parser context
  `builder` - current builder

### processPersistentCachingProperties

protected void processPersistentCachingProperties(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
Process options related to persistent caching support.

Parameters:
  `element` - current element
  `parserContext` - current parser context
  `builder` - current builder

### getTaskTimerRef

@Nullable protected String getTaskTimerRef(@Nonnull Element element)
Gets the default task timer reference for the metadata provider.

Parameters:
  `element` - metadata provider configuration element
Returns:
  task timer reference

### getParserPoolRef

@Nonnull @NotEmpty protected String getParserPoolRef(@Nonnull Element element)
Gets the default parser pool reference for the metadata provider.

Parameters:
  `element` - metadata provider configuration element
Returns:
  parser pool reference