public abstract class UriBuilder extends ObjectSE
Path.value()
を参照してください。Builder メソッドは、対応する URI コンポーネントで許可されていない文字のコンテキストエンコーディングを実行します。これは、クエリパラメーターの application/x-www-form-urlencoded メディア型と他のすべてのコンポーネントの RFC 3986 のルールに従います。特定のコンポーネントで許可されていない文字のみがエンコードの対象となることに注意してください。たとえば、path
メソッドの 1 つに指定されたパスには、マトリックスパラメーターまたは複数のパスセグメントが含まれる場合があります。セパレータは有効な文字であり、エンコードされないためです。パーセントエンコードされた値は、許可されている場所でも認識され、二重にエンコードされません。
URI テンプレートは、URI のほとんどのコンポーネントで許可されていますが、その値は特定のコンポーネントに制限されています。例:
UriBuilder.fromPath("{arg1}").build("foo#bar");
結果の URI が "foo%23bar" になるように "#" をエンコードすることになります。URI "foo#bar" を作成する UriBuilder.fromPath("{arg1}").fragment("{arg2}").build("foo", "bar")
代わりに、URI テンプレート名と区切り文字はエンコードされませんが、URI の作成時にそれらの値がエンコードされます。URI を構築するとき、テンプレートパラメーターの正規表現は無視されます。つまり、検証は実行されません。修飾子 | コンストラクターと説明 |
---|---|
protected | UriBuilder() protected コンストラクター。静的 fromXxx(...) メソッドの 1 つを使用してインスタンスを取得します。 |
修飾子と型 | メソッドと説明 |
---|---|
abstract URISE | build(ObjectSE... values) URI テンプレートパラメーターを置き換えるために、提供された値を使用して URI を構築します。 |
abstract URISE | build(ObjectSE[] values, boolean encodeSlashInPath) URI テンプレートパラメーターを置き換えるために、提供された値を使用して URI を構築します。 |
abstract URISE | buildFromEncoded(ObjectSE... values) URI を作成します。 |
abstract URISE | buildFromEncodedMap(MapSE<StringSE,?> values) URI を作成します。 |
abstract URISE | buildFromMap(MapSE<StringSE,?> values) URI を作成します。 |
abstract URISE | buildFromMap(MapSE<StringSE,?> values, boolean encodeSlashInPath) URI を作成します。 |
abstract UriBuilder | clone() 状態を保持した UriBuilder のコピーを作成します。 |
abstract UriBuilder | fragment(StringSE fragment) URI フラグメントを設定します。 |
static UriBuilder | fromLink(Link link) リンクから初期化された新しいインスタンスを作成します。 |
static UriBuilder | fromMethod(ClassSE<?> resource, StringSE method) Path アノテーション付きメソッドから初期化された相対 URI を表す新しいインスタンスを作成します。 |
static UriBuilder | fromPath(StringSE path) URI パスから初期化された相対 URI を表す新しいインスタンスを作成します。 |
static UriBuilder | fromResource(ClassSE<?> resource) ルートリソースクラスから初期化された相対 URI を表す新しいインスタンスを作成します。 |
static UriBuilder | fromUri(StringSE uriTemplate) 既存の URI から初期化された新しいインスタンスを作成します。 |
static UriBuilder | fromUri(URISE uri) 既存の URI から初期化された新しいインスタンスを作成します。 |
abstract UriBuilder | host(StringSE host) URI ホストを設定します。 |
abstract UriBuilder | matrixParam(StringSE name, ObjectSE... values) URI パスの現在の最終セグメントの既存のマトリックスパラメーターセットにマトリックスパラメーターを追加します。 |
protected static UriBuilder | newInstance() UriBuilder の新しいインスタンスを作成します。 |
abstract UriBuilder | path(ClassSE resource) Path アノテーション付きクラスから既存のパスにパスを追加します。 |
abstract UriBuilder | path(ClassSE resource, StringSE method) パスアノテーション付きメソッドから既存のパスにパスを追加します。 |
abstract UriBuilder | path(MethodSE method) Path アノテーション付きメソッドから既存のパスにパスを追加します。 |
abstract UriBuilder | path(StringSE path) 既存のパスにパスを追加します。 |
abstract UriBuilder | port(int port) URI ポートを設定します。 |
abstract UriBuilder | queryParam(StringSE name, ObjectSE... values) クエリパラメーターを既存のクエリパラメーターのセットに追加します。 |
abstract UriBuilder | replaceMatrix(StringSE matrix) 現在の URI パスの現在の最終セグメントのマトリックスパラメーターを設定します。 |
abstract UriBuilder | replaceMatrixParam(StringSE name, ObjectSE... values) URI パスの現在の最終セグメントのマトリックスパラメーターの既存の値を置き換えます。 |
abstract UriBuilder | replacePath(StringSE path) URI パスを設定します。 |
abstract UriBuilder | replaceQuery(StringSE query) URI クエリ文字列を設定します。 |
abstract UriBuilder | replaceQueryParam(StringSE name, ObjectSE... values) クエリパラメーターの既存の値を置き換えます。 |
abstract UriBuilder | resolveTemplate(StringSE name, ObjectSE value) 指定された値を使用して、この UriBuilder インスタンスの特定の name で URI テンプレートを解決します。 |
abstract UriBuilder | resolveTemplate(StringSE name, ObjectSE value, boolean encodeSlashInPath) 指定された値を使用して、この UriBuilder インスタンスの特定の name で URI テンプレートを解決します。 |
abstract UriBuilder | resolveTemplateFromEncoded(StringSE name, ObjectSE value) 提供されたエンコードされた値を使用して、この UriBuilder インスタンスの特定の name で URI テンプレートを解決します。 |
abstract UriBuilder | resolveTemplates(MapSE<StringSE, ObjectSE> templateValues) 指定された名前と値のペアを使用して、この UriBuilder インスタンスの 1 つ以上の URI テンプレートを解決します。 |
abstract UriBuilder | resolveTemplates(MapSE<StringSE, ObjectSE> templateValues, boolean encodeSlashInPath) 指定された名前と値のペアを使用して、この UriBuilder インスタンスの 1 つ以上の URI テンプレートを解決します。 |
abstract UriBuilder | resolveTemplatesFromEncoded(MapSE<StringSE, ObjectSE> templateValues) 指定された名前と値のペアを使用して、この UriBuilder インスタンスの 1 つ以上の URI テンプレートを解決します。 |
abstract UriBuilder | scheme(StringSE scheme) URI スキームを設定します。 |
abstract UriBuilder | schemeSpecificPart(StringSE ssp) URI スキーム固有部分を設定します( URI SE を参照)。 |
abstract UriBuilder | segment(StringSE... segments) 既存のパスにパスセグメントを追加します。 |
abstract StringSE | toTemplate() この URI ビルダーが表す URI テンプレート文字列を取得します。 |
abstract UriBuilder | uri(StringSE uriTemplate) uriTemplate 文字列を解析し、指定された URI の解析されたコンポーネントを UriBuilder にコピーして、それらのコンポーネントの既存の値を置き換えます。 |
abstract UriBuilder | uri(URISE uri) 指定された URI の null 以外のコンポーネントを UriBuilder にコピーして、それらのコンポーネントの既存の値を置き換えます。 |
abstract UriBuilder | userInfo(StringSE ui) URI user-info を設定します。 |
equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected UriBuilder()
fromXxx(...)
メソッドの 1 つを使用してインスタンスを取得します。protected static UriBuilder newInstance()
public static UriBuilder fromUri(URISE uri)
uri
- UriBuilder を初期化するために使用される URI。IllegalArgumentExceptionSE
- uri が null
の場合。public static UriBuilder fromUri(StringSE uriTemplate)
uriTemplate
- UriBuilder を初期化するために使用される URI テンプレートには、URI パラメーターを含めることができます。IllegalArgumentExceptionSE
- uriTemplate
が有効な URI テンプレートではない場合、または null
である場合。public static UriBuilder fromLink(Link link)
link
- UriBuilder の初期化に使用されるリンク。URI のみが使用されます。IllegalArgumentExceptionSE
- リンクが null
の場合 public static UriBuilder fromPath(StringSE path) throws IllegalArgumentExceptionSE
path
- UriBuilder の初期化に使用される URI パス。URI テンプレートパラメーターを含めることができます。IllegalArgumentExceptionSE
- パスが null
の場合。public static UriBuilder fromResource(ClassSE<?> resource)
resource
- その Path
値が UriBuilder の初期化に使用されるルートリソース。IllegalArgumentExceptionSE
- リソースに Path
アノテーションが付けられていない場合、またはリソースが null
である場合。public static UriBuilder fromMethod(ClassSE<?> resource, StringSE method)
Path
アノテーション付きメソッドから初期化された相対 URI を表す新しいインスタンスを作成します。このメソッドは、Path
でアノテーションが付けられた指定された名前の単一のメソッドがある場合にのみ使用できます。resource
- メソッドを含むリソース。method
- 追加するパスを取得するために Path
値が使用されるメソッドの名前。IllegalArgumentExceptionSE
- リソースまたはメソッドが null
である場合、または Path
でアノテーションされたメソッドのバリアントが 1 つ以上ある場合。public abstract UriBuilder clone()
build(Object...)
メソッドによって返された URI から新しい UriBuilder を構築するよりも、コピーを作成するより効率的な方法です。public abstract UriBuilder uri(URISE uri)
uri
- コンポーネントのコピー元の URI。IllegalArgumentExceptionSE
- uri
パラメーターが null
の場合。public abstract UriBuilder uri(StringSE uriTemplate)
uriTemplate
文字列を解析し、指定された URI の解析されたコンポーネントを UriBuilder にコピーして、それらのコンポーネントの既存の値を置き換えます。uriTemplate
- UriBuilder を初期化するために使用される URI テンプレートには、URI パラメーターを含めることができます。IllegalArgumentExceptionSE
- uriTemplate
が有効な URI テンプレートではない場合、または null
である場合。public abstract UriBuilder scheme(StringSE scheme)
scheme
- URI スキームには、URI テンプレートパラメーターが含まれる場合があります。null
値は、URI スキームの設定を解除しますが、スキーム固有の部分のコンポーネントの設定を解除することはありません。IllegalArgumentExceptionSE
- スキームが無効な場合。public abstract UriBuilder schemeSpecificPart(StringSE ssp)
URI
SE を参照)。このメソッドは、権限、ユーザー情報、ホスト、ポート、パスの既存の値を上書きします。ssp
- URI スキーム固有の部分には、URI テンプレートパラメーターが含まれる場合があります。IllegalArgumentExceptionSE
- ssp を解析できない場合、または null
の場合。public abstract UriBuilder userInfo(StringSE ui)
ui
- URI ユーザー情報には、URI テンプレートパラメーターが含まれる場合があります。null
値は、URI の userInfo コンポーネントを設定解除します。public abstract UriBuilder host(StringSE host)
host
- URI ホストには、URI テンプレートパラメーターが含まれる場合があります。null
値は、URI のホストコンポーネントの設定を解除しますが、他の権限コンポーネント部分(user info
または port
)の設定を解除しません。IllegalArgumentExceptionSE
- ホストが無効な場合。public abstract UriBuilder port(int port)
port
- URI ポート、値 -1 は、明示的なポートの設定を解除します。IllegalArgumentExceptionSE
- ポートが無効な場合。public abstract UriBuilder replacePath(StringSE path)
path
- パスには、URI テンプレートパラメーターを含めることができます。null
値は、URI のパスコンポーネントの設定を解除します。public abstract UriBuilder path(StringSE path)
path
- パス。URI テンプレートパラメーターを含めることができます。IllegalArgumentExceptionSE
- パスが null
の場合。public abstract UriBuilder path(ClassSE resource)
resource
- 追加するパスを取得するために Path
値が使用されるリソース。IllegalArgumentExceptionSE
- リソースが null
の場合、またはリソースに Path
のアノテーションが付いていない場合。public abstract UriBuilder path(ClassSE resource, StringSE method)
path(Method)
への便利なショートカットであり、Path
でアノテーションが付けられた指定された名前の単一のメソッドがある場合にのみ使用できます。resource
- メソッドを含むリソース。method
- 追加するパスを取得するために Path
値が使用されるメソッドの名前。IllegalArgumentExceptionSE
- リソースまたはメソッドが null
である場合、または Path
でアノテーションされたメソッドのバリアントが 1 つ以上ある場合。public abstract UriBuilder path(MethodSE method)
Path
アノテーション付きメソッドから既存のパスにパスを追加します。最終パスを作成するときに、必要に応じて、既存のパスと指定されたパスの間に "/" 区切り文字が挿入されます。method
- Path
値を使用して、既存のパスに追加するパスを取得するメソッド。IllegalArgumentExceptionSE
- メソッドが null
であるか、Path
でアノテーションが付けられていない場合。public abstract UriBuilder segment(StringSE... segments)
segments
- パスセグメント値。それぞれに URI テンプレートパラメーターを含めることができます。IllegalArgumentExceptionSE
- セグメントまたはセグメントの任意の要素が null
の場合。public abstract UriBuilder replaceMatrix(StringSE matrix)
matrix
- マトリックスパラメーターには、URI テンプレートパラメーターが含まれる場合があります。null
値は、現在の URI パスの現在の最終セグメントのすべてのマトリックスパラメーターを削除します。IllegalArgumentExceptionSE
- マトリックスを解析できない場合。public abstract UriBuilder matrixParam(StringSE name, ObjectSE... values)
name
- マトリックスパラメーター名には、URI テンプレートパラメーターを含めることができます。values
- マトリックスパラメーター値、各オブジェクトが変換されます。toString()
メソッドを使用して String
に変換します。文字列化された値には、URI テンプレートパラメーターが含まれる場合があります。IllegalArgumentExceptionSE
- 名前または値が null
の場合。public abstract UriBuilder replaceMatrixParam(StringSE name, ObjectSE... values)
name
- マトリックスパラメーター名には、URI テンプレートパラメーターを含めることができます。values
- マトリックスパラメーター値、各オブジェクトが変換されます。toString()
メソッドを使用して String
に変換します。文字列化された値には、URI テンプレートパラメーターが含まれる場合があります。values
が空または null
の場合、パラメーターの現在の値はすべて削除されます。IllegalArgumentExceptionSE
- 名前が null
の場合 public abstract UriBuilder replaceQuery(StringSE query)
query
- URI クエリ文字列には、URI テンプレートパラメーターを含めることができます。null
値は、すべてのクエリパラメーターを削除します。IllegalArgumentExceptionSE
- クエリを解析できない場合。public abstract UriBuilder queryParam(StringSE name, ObjectSE... values)
name
- クエリパラメーター名には、URI テンプレートパラメーターを含めることができます。values
- クエリパラメーター値の場合、各オブジェクトは toString()
メソッドを使用して String
に変換されます。文字列化された値には、URI テンプレートパラメーターが含まれる場合があります。IllegalArgumentExceptionSE
- 名前または値が null
の場合。public abstract UriBuilder replaceQueryParam(StringSE name, ObjectSE... values)
name
- クエリパラメーター名には、URI テンプレートパラメーターを含めることができます。values
- クエリパラメーター値。各オブジェクトは、toString()
メソッドを使用して String
に変換されます。文字列化された値には、URI テンプレートパラメーターが含まれる場合があります。values
が空または null
の場合、パラメーターの現在の値はすべて削除されます。IllegalArgumentExceptionSE
- 名前が null
の場合 public abstract UriBuilder fragment(StringSE fragment)
fragment
- URI フラグメントには、URI テンプレートパラメーターが含まれる場合があります。null
値は、既存のフラグメントをすべて削除します。public abstract UriBuilder resolveTemplate(StringSE name, ObjectSE value)
UriBuilder
インスタンス内の指定された name
で URI テンプレートを解決します。null
テンプレートの名前または値が入力されると、IllegalArgumentException
SE がスローされます。name
- URI テンプレートの名前。value
- テンプレートを解決するために使用される値。IllegalArgumentExceptionSE
- 解決されたテンプレートの名前または値が null
の場合。public abstract UriBuilder resolveTemplate(StringSE name, ObjectSE value, boolean encodeSlashInPath)
UriBuilder
インスタンス内の指定された name
で URI テンプレートを解決します。null
テンプレートの名前または値が入力されると、IllegalArgumentException
SE がスローされます。name
- URI テンプレートの名前。value
- テンプレートを解決するために使用される値。encodeSlashInPath
- true
の場合、テンプレートが URI パスコンポーネントに配置されていると、テンプレート値のスラッシュ('/'
)文字がエンコードされます。それ以外の場合、スラッシュ文字はパステンプレートにエンコードされません。IllegalArgumentExceptionSE
- 解決されたテンプレートの名前または値が null
の場合。public abstract UriBuilder resolveTemplateFromEncoded(StringSE name, ObjectSE value)
UriBuilder
インスタンス内の指定された name
で URI テンプレートを解決します。一致する名前のテンプレートは、指定された値に置き換えられます。値は、toString()
メソッドを使用して String
に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。2 つの 16 進数が続かない、文字列化された値のすべての % 文字がエンコードされます。null
テンプレート名またはエンコードされた値が入力されると、IllegalArgumentException
SE がスローされます。name
- URI テンプレートの名前。value
- テンプレートの解決に使用されるエンコードされた値。IllegalArgumentExceptionSE
- 解決されたテンプレート名またはエンコードされた値が null
の場合。public abstract UriBuilder resolveTemplates(MapSE<StringSE,ObjectSE> templateValues)
UriBuilder
インスタンスの 1 つ以上の URI テンプレートを解決します。空のパラメーターマップを使用したメソッドの呼び出しは無視されます。templateValues
- URI テンプレート名とその値のマップ。IllegalArgumentExceptionSE
- 名前と値のマップ、またはマップ内の名前または値のいずれかが null
の場合。public abstract UriBuilder resolveTemplates(MapSE<StringSE,ObjectSE> templateValues, boolean encodeSlashInPath) throws IllegalArgumentExceptionSE
UriBuilder
インスタンスの 1 つ以上の URI テンプレートを解決します。空のパラメーターマップを使用したメソッドの呼び出しは無視されます。templateValues
- URI テンプレート名とその値のマップ。encodeSlashInPath
- true
の場合、テンプレートが URI パスコンポーネントに配置されていると、テンプレート値のスラッシュ('/'
)文字がエンコードされます。それ以外の場合、スラッシュ文字はパステンプレートにエンコードされません。IllegalArgumentExceptionSE
- 名前と値のマップ、またはマップ内の名前または値のいずれかが null
の場合。public abstract UriBuilder resolveTemplatesFromEncoded(MapSE<StringSE,ObjectSE> templateValues)
UriBuilder
インスタンスの 1 つ以上の URI テンプレートを解決します。提供されたマップのキーの 1 つと名前が一致するすべてのテンプレートは、提供されたマップの値に置き換えられます。値は、toString()
メソッドを使用して String
に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。2 つの 16 進数が続かない、文字列化された値のすべての % 文字がエンコードされます。空のパラメーターマップを使用したメソッドの呼び出しは無視されます。templateValues
- URI テンプレート名とその値のマップ。IllegalArgumentExceptionSE
- 名前と値のマップ、またはマップ内の名前または値のいずれかが null
の場合。public abstract URISE buildFromMap(MapSE<StringSE,?> values)
toString()
メソッドを使用して String
に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。文字列化された値のすべての '%'
文字がエンコードされます。ビルダーの状態は影響を受けません。このメソッドは、同じビルダーインスタンスで複数回呼び出される場合があります。NOTE: デフォルトでは、文字列化された値のすべての '/'
文字はパステンプレートにエンコードされます。つまり、結果は buildFromMap(valueMap, true)
の呼び出しと同じです。この動作をオーバーライドするには、代わりに buildFromMap(valueMap, false)
を使用してください。
values
- URI テンプレートのパラメーター名と値のマップ。IllegalArgumentExceptionSE
- 指定された値のない URI テンプレートパラメーターがある場合、またはテンプレートパラメーター値が null
である場合。UriBuilderException
- ビルダーの現在の状態に基づいて URI を構築できない場合。buildFromMap(java.util.Map, boolean)
, buildFromEncodedMap(java.util.Map)
public abstract URISE buildFromMap(MapSE<StringSE,?> values, boolean encodeSlashInPath) throws IllegalArgumentExceptionSE, UriBuilderException
toString()
メソッドを使用して String
に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。文字列化された値のすべての '%'
文字がエンコードされます。ビルダーの状態は影響を受けません。このメソッドは、同じビルダーインスタンスで複数回呼び出される場合があります。buildFromMap(java.util.Map)
メソッドを使用するときにテンプレートが URI パスコンポーネントの一部である場合、encodeSlashInPath
パラメーターを使用して、文字列化されたテンプレート値の '/'
文字のデフォルトのエンコードをオーバーライドできます。encodeSlashInPath
パラメーターが true
(デフォルト)に設定されている場合、テンプレートが URI パスコンポーネントに配置されていれば、パラメーター値のスラッシュ('/'
)文字がエンコードされます。false
に設定すると、デフォルトのエンコード動作がオーバーライドされます。パステンプレートの置換に使用する場合、テンプレート値のスラッシュ文字はエンコードされません。
values
- URI テンプレートのパラメーター名と値のマップ。encodeSlashInPath
- true
の場合、テンプレートが URI パスコンポーネントに配置されていると、パラメーター値のスラッシュ('/'
)文字がエンコードされます。それ以外の場合、スラッシュ文字はパステンプレートにエンコードされません。IllegalArgumentExceptionSE
- 指定された値のない URI テンプレートパラメーターがある場合、またはテンプレートパラメーター値が null
である場合。UriBuilderException
- ビルダーの現在の状態に基づいて URI を構築できない場合。buildFromMap(java.util.Map)
, buildFromEncodedMap(java.util.Map)
public abstract URISE buildFromEncodedMap(MapSE<StringSE,?> values) throws IllegalArgumentExceptionSE, UriBuilderException
toString()
メソッドを使用して String
に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。2 つの 16 進数が続かない、文字列化された値のすべての % 文字がエンコードされます。ビルダーの状態は影響を受けません。このメソッドは、同じビルダーインスタンスで複数回呼び出される場合があります。values
- URI テンプレートのパラメーター名と値のマップ。IllegalArgumentExceptionSE
- 指定された値のない URI テンプレートパラメーターがある場合、またはテンプレートパラメーター値が null
である場合。UriBuilderException
- ビルダーの現在の状態に基づいて URI を構築できない場合。buildFromMap(java.util.Map)
, buildFromMap(java.util.Map, boolean)
public abstract URISE build(ObjectSE... values) throws IllegalArgumentExceptionSE, UriBuilderException
toString()
メソッドを使用して String
に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。文字列化された値のすべての "%" 文字がエンコードされます。ビルダーの状態は影響を受けません。このメソッドは、同じビルダーインスタンスで複数回呼び出される場合があります。同じテンプレートパラメーターのすべてのインスタンスは、テンプレートパラメーターの最初のインスタンスの位置に対応する同じ値に置き換えられます。たとえば、値が {"x"、"y"、"z"} のテンプレート "{a}/{b}/{a}" は、URI が "x/y/z" ではなく "x/y/x" になります。
NOTE: デフォルトでは、文字列化された値のすべての '/'
文字はパステンプレートにエンコードされます。つまり、結果は build(Object[], boolean)
build(values、true)} を呼び出すのと同じです。この動作をオーバーライドするには、代わりに build(values, false)
を使用してください。
values
- URI テンプレートパラメーター値のリスト。IllegalArgumentExceptionSE
- 指定された値のない URI テンプレートパラメーターがある場合、または値が null
の場合。UriBuilderException
- ビルダーの現在の状態に基づいて URI を構築できない場合。build(Object[], boolean)
, buildFromEncoded(Object...)
public abstract URISE build(ObjectSE[] values, boolean encodeSlashInPath) throws IllegalArgumentExceptionSE, UriBuilderException
toString()
メソッドを使用して String
に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。文字列化された値のすべての "%" 文字がエンコードされます。ビルダーの状態は影響を受けません。このメソッドは、同じビルダーインスタンスで複数回呼び出される場合があります。同じテンプレートパラメーターのすべてのインスタンスは、テンプレートパラメーターの最初のインスタンスの位置に対応する同じ値に置き換えられます。たとえば、値が {"x"、"y"、"z"} のテンプレート "{a}/{b}/{a}" は、URI が "x/y/z" ではなく "x/y/x" になります。
build(Object[])
メソッドを使用するときにテンプレートが URI パスコンポーネントの一部である場合、encodeSlashInPath
パラメーターを使用して、文字列化されたテンプレート値の '/'
文字のデフォルトのエンコードをオーバーライドできます。encodeSlashInPath
パラメーターが true
(デフォルト)に設定されている場合、テンプレートが URI パスコンポーネントに配置されていれば、パラメーター値のスラッシュ('/'
)文字がエンコードされます。false
に設定すると、デフォルトのエンコード動作がオーバーライドされます。パステンプレートの置換に使用する場合、テンプレート値のスラッシュ文字はエンコードされません。
values
- URI テンプレートパラメーター値のリスト。encodeSlashInPath
- true
の場合、テンプレートが URI パスコンポーネントに配置されていると、パラメーター値のスラッシュ('/'
)文字がエンコードされます。それ以外の場合、スラッシュ文字はパステンプレートにエンコードされません。IllegalArgumentExceptionSE
- 指定された値のない URI テンプレートパラメーターがある場合、または値が null
の場合。UriBuilderException
- ビルダーの現在の状態に基づいて URI を構築できない場合。build(Object[])
, buildFromEncoded(Object...)
public abstract URISE buildFromEncoded(ObjectSE... values) throws IllegalArgumentExceptionSE, UriBuilderException
toString()
メソッドを使用して String
に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。2 つの 16 進数が続かない、文字列化された値のすべての % 文字がエンコードされます。ビルダーの状態は影響を受けません。このメソッドは、同じビルダーインスタンスで複数回呼び出される場合があります。同じテンプレートパラメーターのすべてのインスタンスは、テンプレートパラメーターの最初のインスタンスの位置に対応する同じ値に置き換えられます。たとえば、値が {"x"、"y"、"z"} のテンプレート "{a}/{b}/{a}" は、URI が "x/y/z" ではなく "x/y/x" になります。
values
- URI テンプレートパラメーター値のリスト。IllegalArgumentExceptionSE
- 指定された値のない URI テンプレートパラメーターがある場合、または値が null
の場合。UriBuilderException
- ビルダーの現在の状態に基づいて URI を構築できない場合。build(Object[])
, build(Object[], boolean)
public abstract StringSE toTemplate()
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.