Class EntityAttributesFilter
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.saml.metadata.resolver.filter.impl.EntityAttributesFilter
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,MetadataFilter
public class EntityAttributesFilter extends AbstractInitializableComponent implements MetadataFilter
A filter that addsEntityAttributesextension content to entities in order to drive software behavior based on them.The entities to annotate are identified with a
Predicate, and multiple attributes can be associated with each.As of 3.4.0, another predicate can be set to validate pre-existing extension content to better protect use cases of this component.
-
-
Field Summary
Fields Modifier and Type Field Description private Multimap<Predicate<EntityDescriptor>,Attribute>applyMapRules for adding attributes.private Predicate<Attribute>attributeFilterA condition to apply to pre-existing tags to determine their legitimacy.private SAMLObjectBuilder<EntityAttributes>entityAttributesBuilderBuilder forEntityAttributes.private SAMLObjectBuilder<Extensions>extBuilderBuilder forExtensions.private org.slf4j.LoggerlogClass logger.
-
Constructor Summary
Constructors Constructor Description EntityAttributesFilter()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddEntityAttribute(EntityDescriptor descriptor, EntityAttributes container, Attribute input)Get or createAttributebased on the input/template object.private voidapplyFilter(EntityDescriptor descriptor)Apply whitelist to metadata on input.XMLObjectfilter(XMLObject metadata, MetadataFilterContext context)protected voidfilterEntitiesDescriptor(EntitiesDescriptor descriptor)Filters entities descriptor.protected voidfilterEntityDescriptor(EntityDescriptor descriptor)Filters entity descriptor.voidsetAttributeFilter(Predicate<Attribute> condition)Set a condition to apply to any pre-existing extension attributes, such that failure causes their removal.voidsetRules(Map<Predicate<EntityDescriptor>,Collection<Attribute>> rules)-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, doInitialize, initialize, isDestroyed, isInitialized
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
applyMap
@Nonnull @NonnullElements private Multimap<Predicate<EntityDescriptor>,Attribute> applyMap
Rules for adding attributes.
-
attributeFilter
@Nullable private Predicate<Attribute> attributeFilter
A condition to apply to pre-existing tags to determine their legitimacy.
-
extBuilder
@Nonnull private final SAMLObjectBuilder<Extensions> extBuilder
Builder forExtensions.
-
entityAttributesBuilder
@Nonnull private final SAMLObjectBuilder<EntityAttributes> entityAttributesBuilder
Builder forEntityAttributes.
-
-
Method Detail
-
setRules
public void setRules(@Nonnull @NonnullElements Map<Predicate<EntityDescriptor>,Collection<Attribute>> rules)
- Parameters:
rules- rules to apply
-
setAttributeFilter
public void setAttributeFilter(@Nullable Predicate<Attribute> condition)Set a condition to apply to any pre-existing extension attributes, such that failure causes their removal.If not set, then anything is allowed.
- Parameters:
condition- condition to apply- Since:
- 3.4.0
-
filter
@Nullable public XMLObject filter(@Nullable XMLObject metadata, @Nonnull MetadataFilterContext context) throws FilterException
- Specified by:
filterin interfaceMetadataFilter- Throws:
FilterException
-
filterEntityDescriptor
protected void filterEntityDescriptor(@Nonnull EntityDescriptor descriptor)Filters entity descriptor.- Parameters:
descriptor- entity descriptor to filter
-
filterEntitiesDescriptor
protected void filterEntitiesDescriptor(@Nonnull EntitiesDescriptor descriptor)Filters entities descriptor.- Parameters:
descriptor- entities descriptor to filter
-
addEntityAttribute
@Nonnull private void addEntityAttribute(@Nonnull EntityDescriptor descriptor, @Nonnull EntityAttributes container, @Nonnull Attribute input)Get or createAttributebased on the input/template object.- Parameters:
descriptor- parent entitycontainer- extension containerinput- input object
-
applyFilter
@Nullable private void applyFilter(@Nonnull EntityDescriptor descriptor)Apply whitelist to metadata on input.- Parameters:
descriptor- input to evaluate
-
-