public class UriTemplate
extends java.lang.Object
implements java.io.Serializable{})で囲まれた変数を含む URI のような文字列であり、展開して実際の URI を生成できます。 使用例については、expand(Map)、expand(Object[])、match(String) を参照してください。
このクラスは、スレッドセーフで再利用できるように設計されており、任意の数の展開または一致呼び出しを可能にします。
| コンストラクターと説明 |
|---|
UriTemplate(java.lang.String uriTemplate) 指定された URI 文字列で新しい UriTemplate を構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
java.net.URI | expand(java.util.Map<java.lang.String,?> uriVariables) 変数のマップを指定すると、このテンプレートを URI に展開します。 |
java.net.URI | expand(java.lang.Object... uriVariableValues) 変数の配列を指定して、このテンプレートを完全な URI に展開します。 |
java.util.List<java.lang.String> | getVariableNames() テンプレート内の変数の名前を順番に返します。 |
java.util.Map<java.lang.String,java.lang.String> | match(java.lang.String uri) 指定された URI を変数値のマップに一致させます。 |
boolean | matches(java.lang.String uri) 指定された URI がこのテンプレートと一致するかどうかを示します。 |
java.lang.String | toString() |
public UriTemplate(java.lang.String uriTemplate)
UriTemplate を構築します。uriTemplate - URI テンプレート文字列 public java.util.List<java.lang.String> getVariableNames()
public java.net.URI expand(java.util.Map<java.lang.String,?> uriVariables)
例:
UriTemplate template = new UriTemplate("http://example.com/hotels/{hotel}/bookings/{booking}");
Map<String, String> uriVariables = new HashMap<String, String>();
uriVariables.put("booking", "42");
uriVariables.put("hotel", "Rest & Relax");
System.out.println(template.expand(uriVariables));
出力されます:http://example.com/hotels/Rest%20%26%20Relax/bookings/42uriVariables - URI 変数のマップ java.lang.IllegalArgumentException - uriVariables が null の場合。または、すべての変数名の値が含まれていない場合 public java.net.URI expand(java.lang.Object... uriVariableValues)
例:
UriTemplate template = new UriTemplate("http://example.com/hotels/{hotel}/bookings/{booking}");
System.out.println(template.expand("Rest & Relax", 42));
出力されます:http://example.com/hotels/Rest%20%26%20Relax/bookings/42uriVariableValues - URI 変数の配列 java.lang.IllegalArgumentException - uriVariables が null である場合、または十分な変数が含まれていない場合 public boolean matches(@Nullable java.lang.String uri)
uri - 照合する URItrue。それ以外の場合は false public java.util.Map<java.lang.String,java.lang.String> match(java.lang.String uri)
例:
UriTemplate template = new UriTemplate("http://example.com/hotels/{hotel}/bookings/{booking}");
System.out.println(template.match("http://example.com/hotels/1/bookings/42"));
出力されます:{hotel=1, booking=42}uri - 照合する URIpublic java.lang.String toString()
java.lang.Object の toString