Package net.shibboleth.idp.attribute.filter.spring.impl

# Class AttributeFilterPolicyParser

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.filter.spring.BaseFilterParser
net.shibboleth.idp.attribute.filter.spring.impl.AttributeFilterPolicyParser

All Implemented Interfaces:
  `BeanDefinitionParser`

public class AttributeFilterPolicyParser extends BaseFilterParser
Bean definition parser for an `AttributeFilterPolicy`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private static final QName`
`ATTRIBUTE_RULE`
The AttributeRule QName.
`static final QName`
`ELEMENT_NAME`
Element name.
`private org.slf4j.Logger`
`log`
Class logger.
`static final QName`
`TYPE_NAME`
Schema type name.

### Fields inherited from class net.shibboleth.idp.attribute.filter.spring.BaseFilterParser

`AFP_ELEMENT_NAME, DENY_VALUE_RULE, NAMESPACE, PERMIT_VALUE_RULE, POLICY_REQUIREMENT_RULE, QUALIFIED_ID`

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

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doParse(Element config, ParserContext parserContext, BeanDefinitionBuilder builder)`
`protected Class<?>`
`getBeanClass(Element arg0)`

### Methods inherited from class net.shibboleth.idp.attribute.filter.spring.BaseFilterParser

`getAbsoluteReference, getQualifiedId, isPolicyRule, parseCustomElements, resolveId`

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

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

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

## Field Details

### ELEMENT_NAME

@Nonnull public static final QName ELEMENT_NAME
Element name.

### TYPE_NAME

@Nonnull public static final QName TYPE_NAME
Schema type name.

### ATTRIBUTE_RULE

@Nonnull private static final QName ATTRIBUTE_RULE
The AttributeRule QName.

### log

@Nonnull private org.slf4j.Logger log
Class logger.

## Constructor Details

### AttributeFilterPolicyParser

public AttributeFilterPolicyParser()

## Method Details

### getBeanClass

@Nullable protected Class<?> getBeanClass(@Nonnull Element arg0)

Overrides:
  `getBeanClass` in class `AbstractSingleBeanDefinitionParser`

### doParse

protected void doParse(@Nonnull Element config, @Nonnull ParserContext parserContext, @Nonnull BeanDefinitionBuilder builder)

Calculate the qualified id once, and set both the id property as well as a qualified id metadata attribute used by the `BaseFilterParser.resolveId(Element, AbstractBeanDefinition, ParserContext)` method.

If we auto-generate a name then we issue a warning so users can (1) correct this, but also so they can make sense of the logging in the filters which uses the id extensively.

Overrides:
  `doParse` in class `BaseFilterParser`