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
EntityIdCriterionis 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 Classes Modifier and Type Class Description static interfaceMetadataQueryProtocolRequestURLBuilder.MetadataQueryProtocolURLBuilderInterface for a component which builds a Metadata Query Protocol request URL from a base URL and criteria.
-
Field Summary
Fields Modifier and Type Field Description private StringbaseThe request base URL per the specification.private org.slf4j.LoggerlogLogger.private EscaperpathEscaperPath escaper for escaping the input value inserted into the URL path.private Function<String,String>transformerFunction which transforms the entityID prior to substitution into the URL.private List<MetadataQueryProtocolRequestURLBuilder.MetadataQueryProtocolURLBuilder>urlBuildersList of secondary URL builders.
-
Constructor Summary
Constructors Constructor Description MetadataQueryProtocolRequestURLBuilder(String baseURL)Constructor.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Stringapply(CriteriaSet criteria)private StringbuildFromEntityID(String inputEntityID)Build request URL from entityID.private StringbuildFromSecondaryLookups(CriteriaSet criteria)Build request URL from secondary lookup criteria.
-
-
-
Field Detail
-
log
private final org.slf4j.Logger log
Logger.
-
base
private String base
The request base URL per the specification.
-
transformer
private Function<String,String> transformer
Function which transforms the entityID prior to substitution into the URL.
-
pathEscaper
private Escaper pathEscaper
Path escaper for escaping the input value inserted into the URL path.
-
urlBuilders
private List<MetadataQueryProtocolRequestURLBuilder.MetadataQueryProtocolURLBuilder> urlBuilders
List of secondary URL builders.
-
-
Constructor Detail
-
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 Detail
-
apply
@Nullable public String apply(@Nullable CriteriaSet criteria)
- Specified by:
applyin interfaceFunction<CriteriaSet,String>
-
buildFromEntityID
private String buildFromEntityID(@Nonnull String inputEntityID)
Build request URL from entityID.- Parameters:
inputEntityID- the entityID- Returns:
- the request URL, or null
-
buildFromSecondaryLookups
private String buildFromSecondaryLookups(@Nonnull CriteriaSet criteria)
Build request URL from secondary lookup criteria.- Parameters:
criteria- the criteria- Returns:
- the request URL, or null
-
-