Package org.springframework.web.util
Class AbstractUriTemplateHandler
- java.lang.Object
- org.springframework.web.util.AbstractUriTemplateHandler
- All Implemented Interfaces:
UriTemplateHandler
- Direct Known Subclasses:
DefaultUriTemplateHandler
public abstract class AbstractUriTemplateHandler extends Object implements UriTemplateHandler
Abstract base class forUriTemplateHandler
implementations.Support
setBaseUrl(java.lang.String)
andsetDefaultUriVariables(java.util.Map<java.lang.String, ?>)
properties that should be relevant regardless of the URI template expand and encode mechanism used in sub-classes.- Since:
- 4.3
- Author:
- Rossen Stoyanchev
Constructor Summary
Constructors Constructor Description AbstractUriTemplateHandler()
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description URI
expand(String uriTemplate, Object... uriVariables)
Expand the given URI template from an array of URI variables.URI
expand(String uriTemplate, Map<String,?> uriVariables)
Expand the given URI template from a map of URI variables.protected abstract URI
expandInternal(String uriTemplate, Object... uriVariables)
Actually expand and encode the URI template.protected abstract URI
expandInternal(String uriTemplate, Map<String,?> uriVariables)
Actually expand and encode the URI template.String
getBaseUrl()
Return the configured base URL.Map<String,?>
getDefaultUriVariables()
Return a read-only copy of the configured default URI variables.void
setBaseUrl(String baseUrl)
Configure a base URL to prepend URI templates with.void
setDefaultUriVariables(Map<String,?> defaultUriVariables)
Configure default URI variable values to use with every expanded URI template.
Constructor Detail
AbstractUriTemplateHandler
public AbstractUriTemplateHandler()
Method Detail
setBaseUrl
public void setBaseUrl(String baseUrl)
Configure a base URL to prepend URI templates with. The base URL must have a scheme and host but may optionally contain a port and a path. The base URL must be fully expanded and encoded which can be done viaUriComponentsBuilder
.- Parameters:
baseUrl
- the base URL.
getBaseUrl
public String getBaseUrl()
Return the configured base URL.
setDefaultUriVariables
public void setDefaultUriVariables(Map<String,?> defaultUriVariables)
Configure default URI variable values to use with every expanded URI template. These default values apply only when expanding with a Map, and not with an array, where the Map supplied toexpand(String, Map)
can override the default values.- Parameters:
defaultUriVariables
- the default URI variable values- Since:
- 4.3
getDefaultUriVariables
public Map<String,?> getDefaultUriVariables()
Return a read-only copy of the configured default URI variables.
expand
public URI expand(String uriTemplate, Map<String,?> uriVariables)
Description copied from interface:UriTemplateHandler
Expand the given URI template from a map of URI variables.- Specified by:
expand
in interfaceUriTemplateHandler
- Parameters:
uriTemplate
- the URI template stringuriVariables
- the URI variables- Returns:
- the resulting URI
expand
public URI expand(String uriTemplate, Object... uriVariables)
Description copied from interface:UriTemplateHandler
Expand the given URI template from an array of URI variables.- Specified by:
expand
in interfaceUriTemplateHandler
- Parameters:
uriTemplate
- the URI template stringuriVariables
- the URI variable values- Returns:
- the resulting URI
expandInternal
protected abstract URI expandInternal(String uriTemplate, Map<String,?> uriVariables)
Actually expand and encode the URI template.
expandInternal
protected abstract URI expandInternal(String uriTemplate, Object... uriVariables)
Actually expand and encode the URI template.