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 anyEntityDescriptorthat does or does not match aPredicate, thus a whitelist or blacklist.If an
EntitiesDescriptordoes 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 classPredicateFilter.DirectionWhether matching means to include or exclude an entity.
-
Field Summary
Fields Modifier and Type Field Description private Predicate<EntityDescriptor>conditionMatching predicate.private PredicateFilter.DirectiondirectionWhether matching means to include or exclude an entity.private org.slf4j.LoggerlogClass logger.private booleanremoveEmptyEntitiesDescriptorsWhether 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 XMLObjectfilter(XMLObject metadata, MetadataFilterContext context)protected voidfilterEntitiesDescriptor(EntitiesDescriptor descriptor)Filters entities descriptor.Predicate<EntityDescriptor>getCondition()Get the predicate to be applied.PredicateFilter.DirectiongetDirection()Get the direction of filtering.booleangetRemoveEmptyEntitiesDescriptors()Get whether to remove an entities descriptor if it does not contain any entity descriptor or entities descriptors.voidsetRemoveEmptyEntitiesDescriptors(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:
filterin interfaceMetadataFilter- Throws:
FilterException
-
filterEntitiesDescriptor
protected void filterEntitiesDescriptor(@Nonnull EntitiesDescriptor descriptor)Filters entities descriptor.- Parameters:
descriptor- entities descriptor to filter
-
-