Class NodeProcessingMetadataFilter

java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
org.opensaml.saml.metadata.resolver.filter.impl.NodeProcessingMetadataFilter
All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, MetadataFilter

public class NodeProcessingMetadataFilter
extends AbstractInitializableComponent
implements MetadataFilter
An implementation of MetadataFilter which applies a MetadataNodeProcessor to each element node in the metadata document tree. The node processors will be applied in the order of List provided by setNodeProcessors(List). The metadata document tree is traversed depth-first.
  • Field Details

  • Constructor Details

    • NodeProcessingMetadataFilter

      public NodeProcessingMetadataFilter()
      Constructor.
  • Method Details

    • getNodeProcessors

      @Nonnull @NonnullElements @Live public List<MetadataNodeProcessor> getNodeProcessors()
      Get the list of metadata node processors.
      Returns:
      the list of metadata node processors
    • setNodeProcessors

      public void setNodeProcessors​(@Nonnull @NonnullElements List<MetadataNodeProcessor> newProcessors)
      Set the list of metadata node processors.
      Parameters:
      newProcessors - the new list of processors to set.
    • filter

      @Nullable public XMLObject filter​(@Nullable XMLObject metadata, @Nonnull MetadataFilterContext context) throws FilterException
      Filters the given metadata, perhaps to remove elements that are not wanted.
      Specified by:
      filter in interface MetadataFilter
      Parameters:
      metadata - the metadata to be filtered.
      context - the metadata filter context
      Returns:
      the filtered XMLObject, which may or may not be the same as the XMLObject instance passed in to the method. Maybe be null, for example if the top-level element was removed by the filter.
      Throws:
      FilterException - thrown if an error occurs during the filtering process
    • doDestroy

      protected void doDestroy()
      Overrides:
      doDestroy in class AbstractInitializableComponent
    • processNode

      protected void processNode​(XMLObject node) throws FilterException
      Process an individual metadata node.
      Parameters:
      node - the metadata node to process.
      Throws:
      FilterException - if a fatal error is encountered while processing a node