Allow custom expand algorithm in UriComponents

Issue: SPR-10647
This commit is contained in:
Rossen Stoyanchev 2013-08-21 17:05:13 -04:00
parent 1fd7bc3ee5
commit 08d36cf2e4
1 changed files with 12 additions and 1 deletions

View File

@ -161,6 +161,17 @@ public abstract class UriComponents implements Serializable {
return expandInternal(new VarArgsTemplateVariables(uriVariableValues));
}
/**
* Replaces all URI template variables with the values obtained through the
* given {@link UriTemplateVariables} instance.
* @param uriTemplateVars resolves URI template variable values
* @return the expanded uri components
*/
public final UriComponents expand(UriTemplateVariables uriTemplateVars) {
Assert.notNull(uriTemplateVars, "'uriTemplateVars' must not be null");
return expandInternal(uriTemplateVars);
}
/**
* Replaces all URI template variables with the values from the given {@link
* UriTemplateVariables}
@ -228,7 +239,7 @@ public abstract class UriComponents implements Serializable {
* Defines the contract for URI Template variables
* @see HierarchicalUriComponents#expand
*/
interface UriTemplateVariables {
public interface UriTemplateVariables {
Object getValue(String name);
}