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
-
Method Details
-
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
-