パッケージ jakarta.ws.rs.core

クラス UriBuilder

java.lang.ObjectSE
jakarta.ws.rs.core.UriBuilder

public abstract class UriBuilder extends ObjectSE
コンポーネントから URI を構築するための URI テンプレート対応ユーティリティクラス。URI テンプレートの説明については、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 を構築するとき、テンプレートパラメーターの正規表現は無視されます。つまり、検証は実行されません。
導入:
1.0
作成者:
Paul Sandoz, Marc Hadley
関連事項:
  • コンストラクターの詳細

    • UriBuilder

      protected UriBuilder()
      protected コンストラクター。静的 fromXxx(...) メソッドの 1 つを使用してインスタンスを取得します。
  • メソッドの詳細

    • newInstance

      public static UriBuilder newInstance()
      UriBuilder の新しいインスタンスを作成します。
      戻り値:
      UriBuilder の新しいインスタンス。
      導入:
      3.0
    • fromUri

      public static UriBuilder fromUri(URISE uri)
      既存の URI から初期化された新しいインスタンスを作成します。
      パラメーター:
      uri - UriBuilder を初期化するために使用される URI。
      戻り値:
      新しい UriBuilder。
      例外:
      IllegalArgumentExceptionSE - uri が null の場合。
    • fromUri

      public static UriBuilder fromUri(StringSE uriTemplate)
      既存の URI から初期化された新しいインスタンスを作成します。
      パラメーター:
      uriTemplate - UriBuilder を初期化するために使用される URI テンプレートには、URI パラメーターを含めることができます。
      戻り値:
      新しい UriBuilder。
      例外:
      IllegalArgumentExceptionSE - uriTemplate が有効な URI テンプレートではない場合、または null である場合。
    • fromLink

      public static UriBuilder fromLink(Link link)
      リンクから初期化された新しいインスタンスを作成します。
      パラメーター:
      link - UriBuilder の初期化に使用されるリンク。URI のみが使用されます。
      戻り値:
      新しい UriBuilder
      例外:
      IllegalArgumentExceptionSE - リンクが null の場合
      導入:
      2.0
    • fromPath

      public static UriBuilder fromPath(StringSE path) throws IllegalArgumentExceptionSE
      URI パスから初期化された相対 URI を表す新しいインスタンスを作成します。
      パラメーター:
      path - UriBuilder の初期化に使用される URI パス。URI テンプレートパラメーターを含めることができます。
      戻り値:
      新しい UriBuilder。
      例外:
      IllegalArgumentExceptionSE - パスが null の場合。
    • fromResource

      public static UriBuilder fromResource(ClassSE<?> resource)
      ルートリソースクラスから初期化された相対 URI を表す新しいインスタンスを作成します。
      パラメーター:
      resource - その Path 値が UriBuilder の初期化に使用されるルートリソース。
      戻り値:
      新しい UriBuilder。
      例外:
      IllegalArgumentExceptionSE - リソースに Path アノテーションが付けられていない場合、またはリソースが null である場合。
    • fromMethod

      public static UriBuilder fromMethod(ClassSE<?> resource, StringSE method)
      Path アノテーション付きメソッドから初期化された相対 URI を表す新しいインスタンスを作成します。このメソッドは、Path でアノテーションが付けられた指定された名前の単一のメソッドがある場合にのみ使用できます。
      パラメーター:
      resource - メソッドを含むリソース。
      method - 追加するパスを取得するために Path 値が使用されるメソッドの名前。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - リソースまたはメソッドが null である場合、または Path でアノテーションされたメソッドのバリアントが 1 つ以上ある場合。
      導入:
      2.0
    • clone

      public abstract UriBuilder clone()
      状態を保持した UriBuilder のコピーを作成します。これは、build(Object...) メソッドによって返された URI から新しい UriBuilder を構築するよりも、コピーを作成するより効率的な方法です。
      オーバーライド:
      クラス ObjectSEclone 
      戻り値:
      UriBuilder のコピー。
    • uri

      public abstract UriBuilder uri(URISE uri)
      指定された URI の null 以外のコンポーネントを UriBuilder にコピーして、それらのコンポーネントの既存の値を置き換えます。
      パラメーター:
      uri - コンポーネントのコピー元の URI。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - uri パラメーターが null の場合。
    • uri

      public abstract UriBuilder uri(StringSE uriTemplate)
      uriTemplate 文字列を解析し、指定された URI の解析されたコンポーネントを UriBuilder にコピーして、それらのコンポーネントの既存の値を置き換えます。
      パラメーター:
      uriTemplate - UriBuilder を初期化するために使用される URI テンプレートには、URI パラメーターを含めることができます。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - uriTemplate が有効な URI テンプレートではない場合、または null である場合。
      導入:
      2.0
    • scheme

      public abstract UriBuilder scheme(StringSE scheme)
      URI スキームを設定します。
      パラメーター:
      scheme - URI スキームには、URI テンプレートパラメーターが含まれる場合があります。null 値は、URI スキームの設定を解除しますが、スキーム固有の部分のコンポーネントの設定を解除することはありません。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - スキームが無効な場合。
    • schemeSpecificPart

      public abstract UriBuilder schemeSpecificPart(StringSE ssp)
      URI スキーム固有の部分を設定します(URISE を参照)。このメソッドは、権限、ユーザー情報、ホスト、ポート、パスの既存の値を上書きします。
      パラメーター:
      ssp - URI スキーム固有の部分には、URI テンプレートパラメーターが含まれる場合があります。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - ssp を解析できない場合、または null の場合。
    • userInfo

      public abstract UriBuilder userInfo(StringSE ui)
      URI user-info を設定します。
      パラメーター:
      ui - URI ユーザー情報には、URI テンプレートパラメーターが含まれる場合があります。null 値は、URI の userInfo コンポーネントを設定解除します。
      戻り値:
      更新された UriBuilder。
    • host

      public abstract UriBuilder host(StringSE host)
      URI ホストを設定します。
      パラメーター:
      host - URI ホストには、URI テンプレートパラメーターが含まれる場合があります。null 値は、URI のホストコンポーネントの設定を解除しますが、他の権限コンポーネント部分(user info または port)の設定を解除しません。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - ホストが無効な場合。
    • port

      public abstract UriBuilder port(int port)
      URI ポートを設定します。
      パラメーター:
      port - URI ポート、値 -1 は、明示的なポートの設定を解除します。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - ポートが無効な場合。
    • replacePath

      public abstract UriBuilder replacePath(StringSE path)
      URI パスを設定します。このメソッドは、既存のパスと関連するマトリックスパラメーターを上書きします。既存の "/" 文字は保持されるため、1 つの値で複数の URI パスセグメントを表すことができます。
      パラメーター:
      path - パスには、URI テンプレートパラメーターを含めることができます。null 値は、URI のパスコンポーネントの設定を解除します。
      戻り値:
      更新された UriBuilder。
    • path

      public abstract UriBuilder path(StringSE path)
      既存のパスにパスを追加します。最終パスを作成するときに、必要に応じて、既存のパスと指定されたパスの間に "/" 区切り文字が挿入されます。既存の "/" 文字は保持されるため、1 つの値で複数の URI パスセグメントを表すことができます。
      パラメーター:
      path - パス。URI テンプレートパラメーターを含めることができます。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - パスが null の場合。
    • path

      public abstract UriBuilder path(ClassSE resource)
      Path アノテーション付きクラスから既存のパスにパスを追加します。最終パスを作成するときに、必要に応じて、既存のパスと指定されたパスの間に "/" 区切り文字が挿入されます。
      パラメーター:
      resource - 追加するパスを取得するために Path 値が使用されるリソース。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - リソースが null の場合、またはリソースに Path のアノテーションが付いていない場合。
    • path

      public abstract UriBuilder path(ClassSE resource, StringSE method)
      パスアノテーション付きメソッドから既存のパスにパスを追加します。最終パスを作成するときに、必要に応じて、既存のパスと指定されたパスの間に "/" 区切り文字が挿入されます。このメソッドは path(Method) への便利なショートカットであり、Path でアノテーションが付けられた指定された名前の単一のメソッドがある場合にのみ使用できます。
      パラメーター:
      resource - メソッドを含むリソース。
      method - 追加するパスを取得するために Path 値が使用されるメソッドの名前。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - リソースまたはメソッドが null である場合、または Path でアノテーションされたメソッドのバリアントが 1 つ以上ある場合。
    • path

      public abstract UriBuilder path(MethodSE method)
      Path アノテーション付きメソッドから既存のパスにパスを追加します。最終パスを作成するときに、必要に応じて、既存のパスと指定されたパスの間に "/" 区切り文字が挿入されます。
      パラメーター:
      method - Path 値を使用して、既存のパスに追加するパスを取得するメソッド。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - メソッドが null であるか、Path でアノテーションが付けられていない場合。
    • segment

      public abstract UriBuilder segment(StringSE... segments)
      パスセグメントを既存のパスに追加します。最終パスを作成するときに、必要に応じて既存のパスと最初のパスセグメントの間に "/" 区切り文字が挿入され、指定された各セグメントも "/" で区切られます。既存の "/" 文字はエンコードされるため、単一の値は単一の URI パスセグメントのみを表すことができます。
      パラメーター:
      segments - パスセグメント値。それぞれに URI テンプレートパラメーターを含めることができます。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - セグメントまたはセグメントの任意の要素が null の場合。
    • replaceMatrix

      public abstract UriBuilder replaceMatrix(StringSE matrix)
      現在の URI パスの現在の最終セグメントのマトリックスパラメーターを設定します。このメソッドは、現在の URI パスの現在の最終セグメントにある既存のマトリックスパラメーターを上書きします。マトリックスパラメーターは特定のパスセグメントに関連付けられていることに注意してください。その後にパスセグメントを追加しても、URI パス内の位置には影響しません。
      パラメーター:
      matrix - マトリックスパラメーターには、URI テンプレートパラメーターが含まれる場合があります。null 値は、現在の URI パスの現在の最終セグメントのすべてのマトリックスパラメーターを削除します。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - マトリックスを解析できない場合。
      関連事項:
    • matrixParam

      public abstract UriBuilder matrixParam(StringSE name, ObjectSE... values)
      URI パスの現在の最終セグメントの既存のマトリックスパラメーターのセットにマトリックスパラメーターを追加します。複数の値が指定されている場合、パラメーターは値ごとに 1 回追加されます。マトリックスパラメーターは特定のパスセグメントに関連付けられていることに注意してください。その後にパスセグメントを追加しても、URI パス内の位置には影響しません。
      パラメーター:
      name - マトリックスパラメーター名には、URI テンプレートパラメーターを含めることができます。
      values - マトリックスパラメーター値、各オブジェクトが変換されます。toString() メソッドを使用して String に変換します。文字列化された値には、URI テンプレートパラメーターが含まれる場合があります。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - 名前または値が null の場合。
      関連事項:
    • replaceMatrixParam

      public abstract UriBuilder replaceMatrixParam(StringSE name, ObjectSE... values)
      URI パスの現在の最終セグメントにあるマトリックスパラメーターの既存の値を置き換えます。複数の値が指定されている場合、パラメーターは値ごとに 1 回追加されます。マトリックスパラメーターは特定のパスセグメントに関連付けられていることに注意してください。その後にパスセグメントを追加しても、URI パス内の位置には影響しません。
      パラメーター:
      name - マトリックスパラメーター名には、URI テンプレートパラメーターを含めることができます。
      values - マトリックスパラメーター値、各オブジェクトが変換されます。toString() メソッドを使用して String に変換します。文字列化された値には、URI テンプレートパラメーターが含まれる場合があります。values が空または null の場合、パラメーターの現在の値はすべて削除されます。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - 名前が null の場合
      関連事項:
    • replaceQuery

      public abstract UriBuilder replaceQuery(StringSE query)
      URI クエリ文字列を設定します。このメソッドは、既存のクエリパラメーターを上書きします。
      パラメーター:
      query - URI クエリ文字列には、URI テンプレートパラメーターを含めることができます。null 値は、すべてのクエリパラメーターを削除します。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - クエリを解析できない場合。
    • queryParam

      public abstract UriBuilder queryParam(StringSE name, ObjectSE... values)
      クエリパラメーターを既存のクエリパラメーターのセットに追加します。複数の値が指定されている場合、パラメーターは値ごとに 1 回追加されます。
      パラメーター:
      name - クエリパラメーター名には、URI テンプレートパラメーターを含めることができます。
      values - クエリパラメーター値の場合、各オブジェクトは toString() メソッドを使用して String に変換されます。文字列化された値には、URI テンプレートパラメーターが含まれる場合があります。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - 名前または値が null の場合。
    • replaceQueryParam

      public abstract UriBuilder replaceQueryParam(StringSE name, ObjectSE... values)
      クエリパラメーターの既存の値を置き換えます。複数の値が指定されている場合、パラメーターは値ごとに 1 回追加されます。
      パラメーター:
      name - クエリパラメーター名には、URI テンプレートパラメーターを含めることができます。
      values - クエリパラメーター値。各オブジェクトは、toString() メソッドを使用して String に変換されます。文字列化された値には、URI テンプレートパラメーターが含まれる場合があります。values が空または null の場合、パラメーターの現在の値はすべて削除されます。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - 名前が null の場合
    • fragment

      public abstract UriBuilder fragment(StringSE fragment)
      URI フラグメントを設定します。
      パラメーター:
      fragment - URI フラグメントには、URI テンプレートパラメーターが含まれる場合があります。null 値は、既存のフラグメントをすべて削除します。
      戻り値:
      更新された UriBuilder。
    • resolveTemplate

      public abstract UriBuilder resolveTemplate(StringSE name, ObjectSE value)
      指定された値を使用して、この UriBuilder インスタンス内の指定された name で URI テンプレートを解決します。null テンプレートの名前または値が入力されると、IllegalArgumentExceptionSE がスローされます。
      パラメーター:
      name - URI テンプレートの名前。
      value - テンプレートを解決するために使用される値。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - 解決されたテンプレートの名前または値が null の場合。
      導入:
      2.0
    • resolveTemplate

      public abstract UriBuilder resolveTemplate(StringSE name, ObjectSE value, boolean encodeSlashInPath)
      指定された値を使用して、この UriBuilder インスタンス内の指定された name で URI テンプレートを解決します。null テンプレートの名前または値が入力されると、IllegalArgumentExceptionSE がスローされます。
      パラメーター:
      name - URI テンプレートの名前。
      value - テンプレートを解決するために使用される値。
      encodeSlashInPath - true の場合、テンプレートが URI パスコンポーネントに配置されていると、テンプレート値のスラッシュ('/')文字がエンコードされます。それ以外の場合、スラッシュ文字はパステンプレートにエンコードされません。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - 解決されたテンプレートの名前または値が null の場合。
      導入:
      2.0
    • resolveTemplateFromEncoded

      public abstract UriBuilder resolveTemplateFromEncoded(StringSE name, ObjectSE value)
      指定されたエンコード値を使用して、この UriBuilder インスタンス内の指定された name で URI テンプレートを解決します。一致する名前のテンプレートは、指定された値に置き換えられます。値は、toString() メソッドを使用して String に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。2 つの 16 進数が続かない、文字列化された値のすべての % 文字がエンコードされます。null テンプレート名またはエンコードされた値が入力されると、IllegalArgumentExceptionSE がスローされます。
      パラメーター:
      name - URI テンプレートの名前。
      value - テンプレートの解決に使用されるエンコードされた値。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - 解決されたテンプレート名またはエンコードされた値が null の場合。
      導入:
      2.0
    • resolveTemplates

      public abstract UriBuilder resolveTemplates(MapSE<StringSE,ObjectSE> templateValues)
      提供された名前と値のペアを使用して、この UriBuilder インスタンスの 1 つ以上の URI テンプレートを解決します。空のパラメーターマップを使用したメソッドの呼び出しは無視されます。
      パラメーター:
      templateValues - URI テンプレート名とその値のマップ。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - 名前と値のマップ、またはマップ内の名前または値のいずれかが null の場合。
      導入:
      2.0
    • resolveTemplates

      public abstract UriBuilder resolveTemplates(MapSE<StringSE,ObjectSE> templateValues, boolean encodeSlashInPath) throws IllegalArgumentExceptionSE
      提供された名前と値のペアを使用して、この UriBuilder インスタンスの 1 つ以上の URI テンプレートを解決します。空のパラメーターマップを使用したメソッドの呼び出しは無視されます。
      パラメーター:
      templateValues - URI テンプレート名とその値のマップ。
      encodeSlashInPath - true の場合、テンプレートが URI パスコンポーネントに配置されていると、テンプレート値のスラッシュ('/')文字がエンコードされます。それ以外の場合、スラッシュ文字はパステンプレートにエンコードされません。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - 名前と値のマップ、またはマップ内の名前または値のいずれかが null の場合。
      導入:
      2.0
    • resolveTemplatesFromEncoded

      public abstract UriBuilder resolveTemplatesFromEncoded(MapSE<StringSE,ObjectSE> templateValues)
      提供された名前と値のペアを使用して、この UriBuilder インスタンスの 1 つ以上の URI テンプレートを解決します。提供されたマップのキーの 1 つと名前が一致するすべてのテンプレートは、提供されたマップの値に置き換えられます。値は、toString() メソッドを使用して String に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。2 つの 16 進数が続かない、文字列化された値のすべての % 文字がエンコードされます。空のパラメーターマップを使用したメソッドの呼び出しは無視されます。
      パラメーター:
      templateValues - URI テンプレート名とその値のマップ。
      戻り値:
      更新された UriBuilder。
      例外:
      IllegalArgumentExceptionSE - 名前と値のマップ、またはマップ内の名前または値のいずれかが null の場合。
      導入:
      2.0
    • buildFromMap

      public abstract URISE buildFromMap(MapSE<StringSE,?> values)
      URI を作成します。URI テンプレートパラメーターは、提供されたマップの値に置き換えられます。値は、toString() メソッドを使用して String に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。文字列化された値のすべての '%' 文字がエンコードされます。ビルダーの状態は影響を受けません。このメソッドは、同じビルダーインスタンスで複数回呼び出される場合があります。

      NOTE: デフォルトでは、文字列化された値のすべての '/' 文字はパステンプレートにエンコードされます。つまり、結果は buildFromMap(valueMap, true) の呼び出しと同じです。この動作をオーバーライドするには、代わりに buildFromMap(valueMap, false) を使用してください。

      パラメーター:
      values - URI テンプレートのパラメーター名と値のマップ。
      戻り値:
      UriBuilder から構築された URI。
      例外:
      IllegalArgumentExceptionSE - 指定された値のない URI テンプレートパラメーターがある場合、またはテンプレートパラメーター値が null である場合。
      UriBuilderException - ビルダーの現在の状態に基づいて URI を構築できない場合。
      関連事項:
    • buildFromMap

      public abstract URISE buildFromMap(MapSE<StringSE,?> values, boolean encodeSlashInPath) throws IllegalArgumentExceptionSE, UriBuilderException
      URI を作成します。URI テンプレートパラメーターは、提供されたマップの値に置き換えられます。値は、toString() メソッドを使用して String に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。文字列化された値のすべての '%' 文字がエンコードされます。ビルダーの状態は影響を受けません。このメソッドは、同じビルダーインスタンスで複数回呼び出される場合があります。

      buildFromMap(java.util.Map) メソッドを使用するときにテンプレートが URI パスコンポーネントの一部である場合、encodeSlashInPath パラメーターを使用して、文字列化されたテンプレート値の '/' 文字のデフォルトのエンコードをオーバーライドできます。encodeSlashInPath パラメーターが true (デフォルト)に設定されている場合、テンプレートが URI パスコンポーネントに配置されていれば、パラメーター値のスラッシュ('/')文字がエンコードされます。false に設定すると、デフォルトのエンコード動作がオーバーライドされます。パステンプレートの置換に使用する場合、テンプレート値のスラッシュ文字はエンコードされません。

      パラメーター:
      values - URI テンプレートのパラメーター名と値のマップ。
      encodeSlashInPath - true の場合、テンプレートが URI パスコンポーネントに配置されていると、パラメーター値のスラッシュ('/')文字がエンコードされます。それ以外の場合、スラッシュ文字はパステンプレートにエンコードされません。
      戻り値:
      UriBuilder から構築された URI。
      例外:
      IllegalArgumentExceptionSE - 指定された値のない URI テンプレートパラメーターがある場合、またはテンプレートパラメーター値が null である場合。
      UriBuilderException - ビルダーの現在の状態に基づいて URI を構築できない場合。
      関連事項:
    • buildFromEncodedMap

      public abstract URISE buildFromEncodedMap(MapSE<StringSE,?> values) throws IllegalArgumentExceptionSE, UriBuilderException
      URI を作成します。URI テンプレートパラメーターは、提供されたマップの値に置き換えられます。値は、toString() メソッドを使用して String に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。2 つの 16 進数が続かない、文字列化された値のすべての % 文字がエンコードされます。ビルダーの状態は影響を受けません。このメソッドは、同じビルダーインスタンスで複数回呼び出される場合があります。
      パラメーター:
      values - URI テンプレートのパラメーター名と値のマップ。
      戻り値:
      UriBuilder から構築された URI。
      例外:
      IllegalArgumentExceptionSE - 指定された値のない URI テンプレートパラメーターがある場合、またはテンプレートパラメーター値が null である場合。
      UriBuilderException - ビルダーの現在の状態に基づいて URI を構築できない場合。
      導入:
      2.0
      関連事項:
    • build

      public abstract URISE build(ObjectSE... values) throws IllegalArgumentExceptionSE, UriBuilderException
      URI テンプレートパラメーターを置き換えるために、提供された値を使用して URI を構築します。値は、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 テンプレートパラメーター値のリスト。
      戻り値:
      UriBuilder から構築された URI。
      例外:
      IllegalArgumentExceptionSE - 指定された値のない URI テンプレートパラメーターがある場合、または値が null の場合。
      UriBuilderException - ビルダーの現在の状態に基づいて URI を構築できない場合。
      関連事項:
    • build

      public abstract URISE build(ObjectSE[] values, boolean encodeSlashInPath) throws IllegalArgumentExceptionSE, UriBuilderException
      URI テンプレートパラメーターを置き換えるために、提供された値を使用して URI を構築します。値は、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 パスコンポーネントに配置されていると、パラメーター値のスラッシュ('/')文字がエンコードされます。それ以外の場合、スラッシュ文字はパステンプレートにエンコードされません。
      戻り値:
      UriBuilder から構築された URI。
      例外:
      IllegalArgumentExceptionSE - 指定された値のない URI テンプレートパラメーターがある場合、または値が null の場合。
      UriBuilderException - ビルダーの現在の状態に基づいて URI を構築できない場合。
      導入:
      2.0
      関連事項:
    • buildFromEncoded

      public abstract URISE buildFromEncoded(ObjectSE... values) throws IllegalArgumentExceptionSE, UriBuilderException
      URI を作成します。URI テンプレートのパラメーターは、指定された値に順番に置き換えられます。値は、toString() メソッドを使用して String に変換され、関連する URI コンポーネントのルールに一致するようにエンコードされます。2 つの 16 進数が続かない、文字列化された値のすべての % 文字がエンコードされます。ビルダーの状態は影響を受けません。このメソッドは、同じビルダーインスタンスで複数回呼び出される場合があります。

      同じテンプレートパラメーターのすべてのインスタンスは、テンプレートパラメーターの最初のインスタンスの位置に対応する同じ値に置き換えられます。たとえば、値が {"x"、"y"、"z"} のテンプレート "{a}/{b}/{a}" は、URI が "x/y/z" ではなく "x/y/x" になります。

      パラメーター:
      values - URI テンプレートパラメーター値のリスト。
      戻り値:
      UriBuilder から構築された URI。
      例外:
      IllegalArgumentExceptionSE - 指定された値のない URI テンプレートパラメーターがある場合、または値が null の場合。
      UriBuilderException - ビルダーの現在の状態に基づいて URI を構築できない場合。
      関連事項:
    • toTemplate

      public abstract StringSE toTemplate()
      この URI ビルダーが表す URI テンプレート文字列を取得します。
      戻り値:
      この URI ビルダーの URI テンプレート文字列。
      導入:
      2.0