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 enumEntityID Encoding style. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe 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.LoggerLogger.private TemplateVelocity template instance used to render the request URL.private StringThe 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
@Nonnull 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- theVelocityEngineinstance 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- theVelocityEngineinstance 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- theVelocityEngineinstance to usetemplateString- the Velocity template stringencodingStyle- the style for encoding the entity ID prior to substitution, null meansTemplateRequestURLBuilder.EncodingStyle.nonetransform- function which transforms the entityID prior to substitution, may be nullcharSet- character set of the template, may be null
-
-
Method Details