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 an include or exclude policy.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 apply an include or an exclude policytheCondition- 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
-
-