Interface MetadataFilter
- All Known Implementing Classes:
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 TypeMethodDescriptionfilter
(XMLObject metadata, MetadataFilterContext context) Filters the given metadata, perhaps to remove elements that are not wanted.
-
Method Details
-
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
-