Package net.shibboleth.spring.security.trust

# Class AbstractStaticPKIXParser

java.lang.Object
org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
net.shibboleth.shared.spring.custom.AbstractCustomBeanDefinitionParser
net.shibboleth.spring.security.trust.AbstractTrustEngineParser
net.shibboleth.spring.security.trust.AbstractStaticPKIXParser

All Implemented Interfaces:
  `BeanDefinitionParser`

Direct Known Subclasses:
  `StaticPKIXSignatureParser`, `StaticPKIXX509CredentialParser`

public abstract class AbstractStaticPKIXParser extends AbstractTrustEngineParser
Base Parser for trust engines of type StaticPKIXKeySignature and StaticPKIXX509Credential.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected static class`
`AbstractStaticPKIXParser.X509CredentialNameEvaluatorFactoryBean`
FactoryBean to do a deferred decision on whether to create a live or dummy `X509CredentialNameEvaluator`.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final QName`
`TRUSTED_NAMES`
Trusted Names Information.
`static final QName`
`VALIDATION_INFO`
Validation Information.

### 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
`AbstractStaticPKIXParser()`

## Method Summary

Modifier and Type
Method
Description
`protected BeanDefinition`
`getPKIXTrustEvaluator(Element element, ParserContext parserContext)`
Get the definition for the `PKIXTrustEvaluator`.
`protected BeanDefinition`
`getPKIXValidationInformationResolver(Element element, ParserContext parserContext)`
Get the definition for the `PKIXValidationInformationResolver`.
`protected Object`
`getX509CredentialNameEvaluator(Element element, ParserContext parserContext)`
Get the effective X509CredentialNameEvaluator to use.

### Methods inherited from class net.shibboleth.spring.security.trust.AbstractTrustEngineParser

`doParse, resolveId`

### 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, shouldFireEvents, shouldGenerateId, shouldGenerateIdAsFallback, shouldParseNameAsAliases`

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

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

## Field Details

### VALIDATION_INFO

@Nonnull public static final QName VALIDATION_INFO
Validation Information.

### TRUSTED_NAMES

@Nonnull public static final QName TRUSTED_NAMES
Trusted Names Information.

## Constructor Details

### AbstractStaticPKIXParser

public AbstractStaticPKIXParser()

## Method Details

### getPKIXValidationInformationResolver

@Nonnull protected BeanDefinition getPKIXValidationInformationResolver(@Nonnull Element element, @Nonnull ParserContext parserContext)
Get the definition for the `PKIXValidationInformationResolver`. This is constructed from the Trusted names and the Validation Info.

Parameters:
  `element` - what to parse
  `parserContext` - the context to parse inside
Returns:
  the definition

### getPKIXTrustEvaluator

@Nonnull protected BeanDefinition getPKIXTrustEvaluator(@Nonnull Element element, @Nonnull ParserContext parserContext)
Get the definition for the `PKIXTrustEvaluator`. This is purely a `CertPathPKIXTrustEvaluator` constructed with whatever ValidationOptions we provide.

Parameters:
  `element` - what to parse
  `parserContext` - the context to parse inside
Returns:
  the definition

### getX509CredentialNameEvaluator

@Nonnull protected Object getX509CredentialNameEvaluator(@Nonnull Element element, @Nonnull ParserContext parserContext)
Get the effective X509CredentialNameEvaluator to use. Currently we return a literal value, but in the future a BeanDefinition could be returned if necessary if we support toggling the name evaluator settings, hence the Object return type.

Parameters:
  `element` - what to parse
  `parserContext` - the context to parse inside
Returns:
  an X509CredentialNameEvaluator instance or a BeanDefinition. May be null.