Class MetadataQueryProtocolRequestURLBuilder
java.lang.Object
org.opensaml.saml.metadata.resolver.impl.MetadataQueryProtocolRequestURLBuilder
- All Implemented Interfaces:
Function<CriteriaSet,
String>
public class MetadataQueryProtocolRequestURLBuilder
extends Object
implements Function<CriteriaSet,String>
Function which produces a URL according to the Metadata Query Protocol (MDQ) specification.
Support for building request URLs per the MDQ SAML profile based on an EntityIdCriterion
is built-in.
Support for building request URLs via other criteria may be specified via ordered instances
of MetadataQueryProtocolRequestURLBuilder.MetadataQueryProtocolURLBuilder
. These are evaluated in the supplied order,
and the first non-null result will be returned.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Interface for a component which builds a Metadata Query Protocol request URL from a base URL and criteria. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
The request base URL per the specification.private final org.slf4j.Logger
Logger.private Escaper
Path escaper for escaping the input value inserted into the URL path.Function which transforms the entityID prior to substitution into the URL.List of secondary URL builders. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.MetadataQueryProtocolRequestURLBuilder
(String baseURL, Function<String, String> transform) Constructor.MetadataQueryProtocolRequestURLBuilder
(String baseURL, Function<String, String> transform, List<MetadataQueryProtocolRequestURLBuilder.MetadataQueryProtocolURLBuilder> secondaryURLBuilders) Constructor.MetadataQueryProtocolRequestURLBuilder
(String baseURL, List<MetadataQueryProtocolRequestURLBuilder.MetadataQueryProtocolURLBuilder> secondaryURLBuilders) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionapply
(CriteriaSet criteria) private String
buildFromEntityID
(String inputEntityID) Build request URL from entityID.private String
buildFromSecondaryLookups
(CriteriaSet criteria) Build request URL from secondary lookup criteria.
-
Field Details
-
log
private final org.slf4j.Logger logLogger. -
base
The request base URL per the specification. -
transformer
Function which transforms the entityID prior to substitution into the URL. -
pathEscaper
Path escaper for escaping the input value inserted into the URL path. -
urlBuilders
List of secondary URL builders.
-
-
Constructor Details
-
MetadataQueryProtocolRequestURLBuilder
public MetadataQueryProtocolRequestURLBuilder(@ParameterName(name="baseURL") @Nonnull @NotEmpty String baseURL) Constructor.- Parameters:
baseURL
- the base URL for the metadata responder
-
MetadataQueryProtocolRequestURLBuilder
public MetadataQueryProtocolRequestURLBuilder(@ParameterName(name="baseURL") @Nonnull @NotEmpty String baseURL, @ParameterName(name="transform") @Nullable Function<String, String> transform) Constructor.- Parameters:
baseURL
- the base URL for the metadata respondertransform
- function which transforms the entityID prior to URL construction substitution, may be null
-
MetadataQueryProtocolRequestURLBuilder
public MetadataQueryProtocolRequestURLBuilder(@ParameterName(name="baseURL") @Nonnull @NotEmpty String baseURL, @ParameterName(name="secondaryURLBuilders") @Nullable @NonnullElements List<MetadataQueryProtocolRequestURLBuilder.MetadataQueryProtocolURLBuilder> secondaryURLBuilders) Constructor.- Parameters:
baseURL
- the base URL for the metadata respondersecondaryURLBuilders
- the list of secondary URL builders, may be null
-
MetadataQueryProtocolRequestURLBuilder
public MetadataQueryProtocolRequestURLBuilder(@ParameterName(name="baseURL") @Nonnull @NotEmpty String baseURL, @ParameterName(name="transform") @Nullable Function<String, String> transform, @ParameterName(name="secondaryURLBuilders") @Nullable @NonnullElements List<MetadataQueryProtocolRequestURLBuilder.MetadataQueryProtocolURLBuilder> secondaryURLBuilders) Constructor.- Parameters:
baseURL
- the base URL for the metadata respondertransform
- function which transforms the entityID prior to URL construction substitution, may be nullsecondaryURLBuilders
- the list of secondary URL builders, may be null
-
-
Method Details
-
apply
- Specified by:
apply
in interfaceFunction<CriteriaSet,
String>
-
buildFromEntityID
Build request URL from entityID.- Parameters:
inputEntityID
- the entityID- Returns:
- the request URL, or null
-
buildFromSecondaryLookups
Build request URL from secondary lookup criteria.- Parameters:
criteria
- the criteria- Returns:
- the request URL, or null
-