public class UriTemplate extends Object implements Comparable<UriTemplate>
A Fast Implementation of URI Template specification. See https://tools.ietf.org/html/rfc6570 and https://medialize.github.io/URI.js/uri-template.html.
Note: this class has a natural ordering that is inconsistent with equals.
| Modifier and Type | Class and Description | 
|---|---|
| protected static interface  | UriTemplate.PathSegmentRepresents an expandable path segment. | 
| protected static class  | UriTemplate.UriTemplateParserAn URI template parser. | 
| Modifier and Type | Field and Description | 
|---|---|
| protected String | templateString | 
| Modifier | Constructor and Description | 
|---|---|
|   | UriTemplate(CharSequence templateString)Construct a new URI template for the given template. | 
| protected  | UriTemplate(CharSequence templateString,
           Object... parserArguments)Construct a new URI template for the given template. | 
| protected  | UriTemplate(String templateString,
           List<UriTemplate.PathSegment> segments) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected List<UriTemplate.PathSegment> | buildNestedSegments(CharSequence uriTemplate,
                   int len,
                   Object... parserArguments) | 
| int | compareTo(UriTemplate o) | 
| protected UriTemplate.UriTemplateParser | createParser(String templateString,
            Object... parserArguments)Creates a parser. | 
| boolean | equals(Object o) | 
| String | expand(Map<String,Object> parameters)Expand the string with the given parameters. | 
| String | expand(Object bean)Expand the string with the given bean. | 
| long | getPathVariableSegmentCount() | 
| long | getRawSegmentCount() | 
| int | getRawSegmentLength() | 
| long | getVariableSegmentCount() | 
| int | hashCode() | 
| UriTemplate | nest(CharSequence uriTemplate)Nests another URI template with this template. | 
| protected UriTemplate | nest(CharSequence uriTemplate,
    Object... parserArguments)Nests another URI template with this template. | 
| protected UriTemplate | newUriTemplate(CharSequence uriTemplate,
              List<UriTemplate.PathSegment> newSegments) | 
| protected String | normalizeNested(String uri,
               CharSequence nested)Normalize a nested URI. | 
| static UriTemplate | of(String uri)Create a new  UriTemplatefor the given URI. | 
| String | toString() | 
| protected String | toString(Predicate<UriTemplate.PathSegment> filter)Returns the template as a string filtering the segments
 with the provided filter. | 
protected final String templateString
public UriTemplate(CharSequence templateString)
templateString - The template stringprotected UriTemplate(CharSequence templateString, Object... parserArguments)
templateString - The template stringparserArguments - The parsed argumentsprotected UriTemplate(String templateString, List<UriTemplate.PathSegment> segments)
templateString - The templatesegments - The list of segmentspublic long getVariableSegmentCount()
public long getPathVariableSegmentCount()
public long getRawSegmentCount()
public int getRawSegmentLength()
public UriTemplate nest(CharSequence uriTemplate)
uriTemplate - The URI template. If it does not begin with forward slash it will automatically be appended with forward slashpublic String expand(Map<String,Object> parameters)
parameters - The parameterspublic String expand(Object bean)
bean - The beanpublic int compareTo(UriTemplate o)
compareTo in interface Comparable<UriTemplate>public static UriTemplate of(String uri)
UriTemplate for the given URI.uri - The URIprotected UriTemplate nest(CharSequence uriTemplate, Object... parserArguments)
uriTemplate - The URI template. If it does not begin with forward slash it will automatically be
                        appended with forward slashparserArguments - The parsed argumentsprotected UriTemplate newUriTemplate(CharSequence uriTemplate, List<UriTemplate.PathSegment> newSegments)
uriTemplate - The URI templatenewSegments - The new segmentsUriTemplateprotected String normalizeNested(String uri, CharSequence nested)
uri - The URInested - The nested URIprotected List<UriTemplate.PathSegment> buildNestedSegments(CharSequence uriTemplate, int len, Object... parserArguments)
uriTemplate - The URI templatelen - The lenghtparserArguments - The parsed argumentsprotected UriTemplate.UriTemplateParser createParser(String templateString, Object... parserArguments)
templateString - The templateparserArguments - The parsed argumentsprotected String toString(Predicate<UriTemplate.PathSegment> filter)
filter - The filter to test segments