Class TemplateRequestURLBuilder
java.lang.Object
org.opensaml.saml.metadata.resolver.impl.TemplateRequestURLBuilder
- All Implemented Interfaces:
Function<CriteriaSet,
String>
Function which produces a URL by substituting an entity ID value from criteria into a Velocity template string.
The entity ID will be replaced in the template string according to the template variable entityID
,
e.g. "https://metadataservice.com/entity/${entityID}".
The value of the encodingStyle
parameter determines whether and how the entity ID will be encoded prior
to substitution, and accepts an enum value from TemplateRequestURLBuilder.EncodingStyle
.
Legacy deprecated constructors accept an encoded
parameter, where true
means TemplateRequestURLBuilder.EncodingStyle.form
and false
means TemplateRequestURLBuilder.EncodingStyle.none
.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
EntityID Encoding style. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The Velocity context variable name for the entity ID.Enum value indicating whether and how to encode the entity ID value before substitution.private final org.slf4j.Logger
Logger.private Template
Velocity template instance used to render the request URL.private String
The template text, for logging purposes.Function which transforms the entityID prior to substitution into the template. -
Constructor Summary
ConstructorsConstructorDescriptionTemplateRequestURLBuilder
(org.apache.velocity.app.VelocityEngine engine, String templateString, TemplateRequestURLBuilder.EncodingStyle encodingStyle) Constructor.TemplateRequestURLBuilder
(org.apache.velocity.app.VelocityEngine engine, String templateString, TemplateRequestURLBuilder.EncodingStyle encodingStyle, Function<String, String> transform) Constructor.TemplateRequestURLBuilder
(org.apache.velocity.app.VelocityEngine engine, String templateString, TemplateRequestURLBuilder.EncodingStyle encodingStyle, Function<String, String> transform, Charset charSet) Constructor. -
Method Summary
-
Field Details
-
CONTEXT_KEY_ENTITY_ID
The Velocity context variable name for the entity ID.- See Also:
-
log
private final org.slf4j.Logger logLogger. -
template
Velocity template instance used to render the request URL. -
templateText
The template text, for logging purposes. -
transformer
Function which transforms the entityID prior to substitution into the template. -
entityIDEncodingStyle
Enum value indicating whether and how to encode the entity ID value before substitution.
-
-
Constructor Details
-
TemplateRequestURLBuilder
public TemplateRequestURLBuilder(@Nonnull org.apache.velocity.app.VelocityEngine engine, @Nonnull @NotEmpty String templateString, @Nullable TemplateRequestURLBuilder.EncodingStyle encodingStyle) Constructor.The template character set will be US ASCII.
- Parameters:
engine
- theVelocityEngine
instance to usetemplateString
- the Velocity template stringencodingStyle
- the style for encoding the entity ID prior to substitution, null meansTemplateRequestURLBuilder.EncodingStyle.none
-
TemplateRequestURLBuilder
public TemplateRequestURLBuilder(@Nonnull org.apache.velocity.app.VelocityEngine engine, @Nonnull @NotEmpty String templateString, @Nullable TemplateRequestURLBuilder.EncodingStyle encodingStyle, @Nullable Function<String, String> transform) Constructor.The template character set will be US ASCII.
- Parameters:
engine
- theVelocityEngine
instance to usetemplateString
- the Velocity template stringtransform
- function which transforms the entityID prior to substitution, may be nullencodingStyle
- the style for encoding the entity ID prior to substitution, null meansTemplateRequestURLBuilder.EncodingStyle.none
-
TemplateRequestURLBuilder
public TemplateRequestURLBuilder(@Nonnull org.apache.velocity.app.VelocityEngine engine, @Nonnull @NotEmpty String templateString, TemplateRequestURLBuilder.EncodingStyle encodingStyle, @Nullable Function<String, String> transform, @Nullable Charset charSet) Constructor.- Parameters:
engine
- theVelocityEngine
instance to usetemplateString
- the Velocity template stringencodingStyle
- the style for encoding the entity ID prior to substitution, null meansTemplateRequestURLBuilder.EncodingStyle.none
transform
- function which transforms the entityID prior to substitution, may be nullcharSet
- character set of the template, may be null
-
-
Method Details
-
apply
- Specified by:
apply
in interfaceFunction<CriteriaSet,
String>
-