Class EndpointMetadataIndex
- java.lang.Object
-
- org.opensaml.saml.metadata.resolver.index.impl.EndpointMetadataIndex
-
- All Implemented Interfaces:
MetadataIndex
public class EndpointMetadataIndex extends Object implements MetadataIndex
An implementation ofMetadataIndexwhich indexes entities by their role endpoint locations.The indexed endpoint location keys are scoped by the containing
RoleDescriptortype,Endpointtype, and whether or not the endpoint value was a standard location (Endpoint.getLocation()) or a response location (Endpoint.getResponseLocation()).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEndpointMetadataIndex.DefaultEndpointSelectionPredicateprotected static classEndpointMetadataIndex.EndpointMetadataIndexKeyAn implementation ofMetadataIndexKeyrepresenting a single SAML metadata endpoint.
-
Field Summary
Fields Modifier and Type Field Description private Predicate<Endpoint>endpointSelectionPredicateThe predicate which selects which endpoints to index.private org.slf4j.LoggerlogLogger.
-
Constructor Summary
Constructors Constructor Description EndpointMetadataIndex()Constructor.EndpointMetadataIndex(Predicate<Endpoint> endpointPredicate)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<MetadataIndexKey>generateKeys(CriteriaSet criteriaSet)Set<MetadataIndexKey>generateKeys(EntityDescriptor descriptor)private Set<MetadataIndexKey>processCriteria(CriteriaSet criteriaSet, QName roleType, Endpoint endpoint)Process the specified role and endpoint.private Set<String>processLocation(CriteriaSet criteriaSet, String location)Process the specified location.
-
-
-
Constructor Detail
-
EndpointMetadataIndex
public EndpointMetadataIndex()
Constructor.All entity descriptor endpoints will be indexed.
-
EndpointMetadataIndex
public EndpointMetadataIndex(@Nonnull @ParameterName(name="endpointPredicate") Predicate<Endpoint> endpointPredicate)
Constructor.- Parameters:
endpointPredicate- the predicate which selects which endpoints to index
-
-
Method Detail
-
generateKeys
@Nullable @NonnullElements @Unmodifiable @NotLive public Set<MetadataIndexKey> generateKeys(@Nonnull EntityDescriptor descriptor)
- Specified by:
generateKeysin interfaceMetadataIndex
-
generateKeys
@Nullable @NonnullElements @Unmodifiable @NotLive public Set<MetadataIndexKey> generateKeys(@Nonnull CriteriaSet criteriaSet)
- Specified by:
generateKeysin interfaceMetadataIndex
-
processCriteria
@Nonnull private Set<MetadataIndexKey> processCriteria(@Nonnull CriteriaSet criteriaSet, @Nonnull QName roleType, @Nonnull Endpoint endpoint)
Process the specified role and endpoint.- Parameters:
criteriaSet- the criteria being processedroleType- the type of role containing the endpointendpoint- the endpoint to process- Returns:
- the set of metadata index keys for the endpoint
-
processLocation
@Nonnull private Set<String> processLocation(@Nonnull CriteriaSet criteriaSet, @Nonnull String location)
Process the specified location.- Parameters:
criteriaSet- the criteria being processedlocation- the location to process- Returns:
- the variants of the location to be indexed
-
-