This class represents a template specified within the HTTP Location string used as the value of the
whttp:location
extension attribute. The template cites an element from the instance data of the message to be serialized in the request IRI by enclosing the element's local name in curly braces. The template is then matched against an element in the instance data and replaced in the HTTP Location string by that element's String value.
For example, the template "{postcode}" is matched to the instance data element <postcode>90210</postcode> and the String value "90210" replaces "{postcode}" in the formatted HTTP Location string.
The WSDL 2.0 HTTP binding extension requires certain encoding be performed on the content of the HTTP Location string. Templates of the form "{localname}" are called encoded templates because these encoding rules also apply to any element values substituted for these templates. A raw template is used to indicate that encoding is not to be performed on the substituted value. Raw templates are identified by the exclamated curly brace syntax "{!localname}".
A template that appears in the HTTP Location String before the first occurrence of '?' is in the URI Path portion of the HTTP Location. One that appears after the first occurrence of '?' is in the URI Query portion.
This class has a single constructor which takes three parameters that indicate the local name of the element cited in the template, whether the template is encoded and whether it appears in the Query portion of the HTTP Location.
The class has the following characteristics:
- It returns the element local name cited by the template.
- It does not permit the cited element name to be modified.
- It accepts a String value for the element cited by the template.
- It differentiates an encoded template from a raw template.
- It differentiates a template that appears in the Path from one that appears in the Query.
@author John Kaputin (jkaputin@apache.org)