Package org.opensaml.saml.metadata.resolver.filter

# Interface MetadataFilter

All Known Implementing Classes:
  `AbstractMetadataFilter`, `AlgorithmFilter`, `ByReferenceMetadataFilter`, `EntityAttributesFilter`, `EntityRoleFilter`, `MetadataFilterChain`, `NameIDFormatFilter`, `NodeProcessingMetadataFilter`, `PredicateFilter`, `RequiredValidUntilFilter`, `SchemaValidationFilter`, `SignatureValidationFilter`

public interface MetadataFilter
A metadata filter is used to process a metadata document after it has been unmarshalled into an instance of `XMLObject`, either an `EntityDescriptor` or an `EntitiesDescriptor`.

Some example filters might remove everything but identity providers roles, decreasing the data a service provider needs to work with, or a filter could be used to perform integrity checking on the retrieved metadata by verifying a digital signature.

If a filter wishes to completely remove the top-level document element, or otherwise indicate that it has successfully produced an empty data set from the input document, `null` may be returned by the filter's `filter(XMLObject, MetadataFilterContext)` method.

## Method Summary

Modifier and Type
Method
Description
`XMLObject`
`filter(XMLObject metadata, MetadataFilterContext context)`
Filters the given metadata, perhaps to remove elements that are not wanted.
`String`
`getType()`
Gets the type of filter for reporting or logging purposes.

## Method Details

### getType

@Nullable @NotEmpty String getType()
Gets the type of filter for reporting or logging purposes.

Returns:
  filter type
Since:
  5.0.0

### filter

@Nullable XMLObject filter(@Nullable XMLObject metadata, @Nonnull MetadataFilterContext context) throws FilterException
Filters the given metadata, perhaps to remove elements that are not wanted.

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