Class PredicateFilter
- java.lang.Object
-
- org.opensaml.saml.metadata.resolver.filter.impl.PredicateFilter
-
- All Implemented Interfaces:
MetadataFilter
public class PredicateFilter extends Object implements MetadataFilter
A filter that removes anyEntityDescriptor
that does or does not match aPredicate
, thus a whitelist or blacklist.If an
EntitiesDescriptor
does not contain any children after filtering it may, optionally, be removed as well. If the root element of the metadata document is an @link EntitiesDescriptor}, it will never be removed, regardless of of whether it still has children.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PredicateFilter.Direction
Whether matching means to include or exclude an entity.
-
Field Summary
Fields Modifier and Type Field Description private Predicate<EntityDescriptor>
condition
Matching predicate.private PredicateFilter.Direction
direction
Whether matching means to include or exclude an entity.private org.slf4j.Logger
log
Class logger.private boolean
removeEmptyEntitiesDescriptors
Whether to keep entities descriptors that contain no entity descriptors; default value: true.
-
Constructor Summary
Constructors Constructor Description PredicateFilter(PredicateFilter.Direction dir, Predicate<EntityDescriptor> theCondition)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XMLObject
filter(XMLObject metadata, MetadataFilterContext context)
protected void
filterEntitiesDescriptor(EntitiesDescriptor descriptor)
Filters entities descriptor.Predicate<EntityDescriptor>
getCondition()
Get the predicate to be applied.PredicateFilter.Direction
getDirection()
Get the direction of filtering.boolean
getRemoveEmptyEntitiesDescriptors()
Get whether to remove an entities descriptor if it does not contain any entity descriptor or entities descriptors.void
setRemoveEmptyEntitiesDescriptors(boolean remove)
Set whether to remove an entities descriptor if it does not contain any entity descriptor or entities descriptors.
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
direction
@Nonnull private final PredicateFilter.Direction direction
Whether matching means to include or exclude an entity.
-
condition
@Nonnull private final Predicate<EntityDescriptor> condition
Matching predicate.
-
removeEmptyEntitiesDescriptors
private boolean removeEmptyEntitiesDescriptors
Whether to keep entities descriptors that contain no entity descriptors; default value: true.
-
-
Constructor Detail
-
PredicateFilter
public PredicateFilter(@Nonnull PredicateFilter.Direction dir, @Nonnull Predicate<EntityDescriptor> theCondition)
Constructor.- Parameters:
dir
- whether to whitelist or blacklisttheCondition
- the predicate to apply to determine inclusion or exclusion
-
-
Method Detail
-
getDirection
@Nonnull public PredicateFilter.Direction getDirection()
Get the direction of filtering.- Returns:
- filtering direction
-
getCondition
@Nonnull public Predicate<EntityDescriptor> getCondition()
Get the predicate to be applied.- Returns:
- the predicate to be applied
-
getRemoveEmptyEntitiesDescriptors
public boolean getRemoveEmptyEntitiesDescriptors()
Get whether to remove an entities descriptor if it does not contain any entity descriptor or entities descriptors.- Returns:
- whether to remove an entities descriptor if it does not contain any entity descriptor or entities descriptors
-
setRemoveEmptyEntitiesDescriptors
public void setRemoveEmptyEntitiesDescriptors(boolean remove)
Set whether to remove an entities descriptor if it does not contain any entity descriptor or entities descriptors.- Parameters:
remove
- whether to remove an entities descriptor if it does not contain any entity descriptor or entities descriptors
-
filter
public XMLObject filter(@Nullable XMLObject metadata, @Nonnull MetadataFilterContext context) throws FilterException
- Specified by:
filter
in interfaceMetadataFilter
- Throws:
FilterException
-
filterEntitiesDescriptor
protected void filterEntitiesDescriptor(@Nonnull EntitiesDescriptor descriptor)
Filters entities descriptor.- Parameters:
descriptor
- entities descriptor to filter
-
-