Class EndpointMetadataIndex

  • All Implemented Interfaces:
    org.opensaml.saml.metadata.resolver.index.MetadataIndex

    public class EndpointMetadataIndex
    extends Object
    implements org.opensaml.saml.metadata.resolver.index.MetadataIndex
    An implementation of MetadataIndex which indexes entities by their role endpoint locations.

    The indexed endpoint location keys are scoped by the containing RoleDescriptor type, Endpoint type, and whether or not the endpoint value was a standard location (Endpoint.getLocation()) or a response location (Endpoint.getResponseLocation()).

    • Field Detail

      • log

        private Logger log
        Logger.
      • endpointSelectionPredicate

        @Nonnull
        private Predicate<org.opensaml.saml.saml2.metadata.Endpoint> endpointSelectionPredicate
        The predicate which selects which endpoints to index.
    • Constructor Detail

      • EndpointMetadataIndex

        public EndpointMetadataIndex()
        Constructor.

        All entity descriptor endpoints will be indexed.

      • EndpointMetadataIndex

        public EndpointMetadataIndex​(@Nonnull @ParameterName(name="endpointPredicate")
                                     Predicate<org.opensaml.saml.saml2.metadata.Endpoint> endpointPredicate)
        Constructor.
        Parameters:
        endpointPredicate - the predicate which selects which endpoints to index
    • Method Detail

      • generateKeys

        @Nullable
        @NonnullElements
        @Unmodifiable
        @NotLive
        public Set<org.opensaml.saml.metadata.resolver.index.MetadataIndexKey> generateKeys​(@Nonnull
                                                                                            org.opensaml.saml.saml2.metadata.EntityDescriptor descriptor)
        Specified by:
        generateKeys in interface org.opensaml.saml.metadata.resolver.index.MetadataIndex
      • generateKeys

        @Nullable
        @NonnullElements
        @Unmodifiable
        @NotLive
        public Set<org.opensaml.saml.metadata.resolver.index.MetadataIndexKey> generateKeys​(@Nonnull
                                                                                            net.shibboleth.utilities.java.support.resolver.CriteriaSet criteriaSet)
        Specified by:
        generateKeys in interface org.opensaml.saml.metadata.resolver.index.MetadataIndex
      • processCriteria

        @Nonnull
        private Set<org.opensaml.saml.metadata.resolver.index.MetadataIndexKey> processCriteria​(@Nonnull
                                                                                                net.shibboleth.utilities.java.support.resolver.CriteriaSet criteriaSet,
                                                                                                @Nonnull
                                                                                                QName roleType,
                                                                                                @Nonnull
                                                                                                org.opensaml.saml.saml2.metadata.Endpoint endpoint)
        Process the specified role and endpoint.
        Parameters:
        criteriaSet - the criteria being processed
        roleType - the type of role containing the endpoint
        endpoint - the endpoint to process
        Returns:
        the set of metadata index keys for the endpoint
      • processLocation

        @Nonnull
        private Set<String> processLocation​(@Nonnull
                                            net.shibboleth.utilities.java.support.resolver.CriteriaSet criteriaSet,
                                            @Nonnull
                                            String location)
        Process the specified location.
        Parameters:
        criteriaSet - the criteria being processed
        location - the location to process
        Returns:
        the variants of the location to be indexed