モジュール jdk.dynalink

クラスGuards

java.lang.Object
jdk.dynalink.linker.support.Guards

public final class Guards
extends Object
MethodHandles.guardWithTest(MethodHandle, MethodHandle, MethodHandle)の典型的なガードを作成し、そのメソッド型を調整するユーティリティ・メソッド。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    static MethodHandle asType​(MethodHandle test, MethodType type)
    ガードとして使用するためのメソッド・ハンドルを取得し、リクエストされた型に適合させますが、ブール値を返します。
    static MethodHandle asType​(LinkerServices linkerServices, MethodHandle test, MethodType type)
    ガードとして使用するためのメソッド・ハンドルを取得し、リクエストされた型に適合させますが、ブール値を返します。
    static MethodHandle getClassGuard​(Class<?> clazz)
    正確な特定のクラスであるために唯一の引数をテストするガード・メソッドを作成します。
    static MethodHandle getIdentityGuard​(Object obj)
    他のオブジェクトと同じ参照を持つために唯一の引数をテストするガード・メソッドを作成
    static MethodHandle getInstanceOfGuard​(Class<?> clazz)
    特定のクラスのインスタンスであるために唯一の引数をテストするガード・メソッドを作成します。
    static MethodHandle isArray​(int pos, MethodType type)
    指定された位置の引数がJava配列の場合にtrueを返すメソッド・ハンドルを作成します。
    static MethodHandle isInstance​(Class<?> clazz, int pos, MethodType type)
    指定された型の引数を持つメソッド・ハンドルを作成しますが、ブール型の戻り値を持ちます。
    static MethodHandle isInstance​(Class<?> clazz, MethodType type)
    指定された型の引数を持つメソッド・ハンドルを作成しますが、ブール型の戻り値を持ちます。
    static MethodHandle isNotNull()
    最初の引数がnullでないかどうかを調べるガードを返します。
    static MethodHandle isNull()
    最初の引数がnullかどうかを調べるガードを返します。
    static MethodHandle isOfClass​(Class<?> clazz, MethodType type)
    指定された型の引数を持つがboolean戻り値を持つガード・メソッド・ハンドルを作成します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • メソッドの詳細

    • isOfClass

      public static MethodHandle isOfClass​(Class<?> clazz, MethodType type)
      指定された型の引数を持つがboolean戻り値を持つガード・メソッド・ハンドルを作成します。 呼び出されると、最初の引数が指定されたクラス(正確には、サブクラスではない)のものであればtrueを返します。 残りの引数は無視されます。
      パラメータ:
      clazz - テストする最初の引数のクラス
      type - メソッドの型
      戻り値:
      最初の引数が指定されたクラスかどうかを調べるメソッド・ハンドル。
    • isInstance

      public static MethodHandle isInstance​(Class<?> clazz, MethodType type)
      指定された型の引数を持つメソッド・ハンドルを作成しますが、ブール型の戻り値を持ちます。 呼び出されると、最初の引数が指定されたクラスまたはそのサブクラスのインスタンスである場合はtrueを返します。 残りの引数は無視されます。
      パラメータ:
      clazz - テストする最初の引数のクラス
      type - メソッドの型
      戻り値:
      メソッドの最初の引数が指定されたクラスまたはサブクラスかどうかを調べるメソッド・ハンドル。
    • isInstance

      public static MethodHandle isInstance​(Class<?> clazz, int pos, MethodType type)
      指定された型の引数を持つメソッド・ハンドルを作成しますが、ブール型の戻り値を持ちます。 呼び出されると、n番目の引数が指定されたクラスまたはそのサブクラスのインスタンスである場合はtrueを返します。 残りの引数は無視されます。
      パラメータ:
      clazz - テストする最初の引数のクラス
      pos - テストする引数リスト上の位置
      type - メソッドの型
      戻り値:
      メソッドの最初の引数が指定されたクラスまたはサブクラスかどうかを調べるメソッド・ハンドル。
    • isArray

      public static MethodHandle isArray​(int pos, MethodType type)
      指定された位置の引数がJava配列の場合にtrueを返すメソッド・ハンドルを作成します。
      パラメータ:
      pos - 引数の位置が点灯
      type - ハンドルのメソッドの型
      戻り値:
      指定された位置の引数がJava配列の場合はtrueを返すメソッド・ハンドル。残りの引数は無視されます。
    • asType

      public static MethodHandle asType​(MethodHandle test, MethodType type)
      ガードとして使用するためのメソッド・ハンドルを取得し、リクエストされた型に適合させますが、ブール値を返します。 MethodHandle.asType(MethodType)を適用して型を変換し、MethodHandles.dropArguments(MethodHandle, int, Class...)を使用してリクエストされた型アリティに一致させます。
      パラメータ:
      test - テスト・メソッド・ハンドル
      type - メソッド・ハンドルを適用する型
      戻り値:
      適合したメソッド・ハンドル
    • asType

      public static MethodHandle asType​(LinkerServices linkerServices, MethodHandle test, MethodType type)
      ガードとして使用するためのメソッド・ハンドルを取得し、リクエストされた型に適合させますが、ブール値を返します。 LinkerServices.asType(MethodHandle, MethodType)を適用して型を変換し、MethodHandles.dropArguments(MethodHandle, int, Class...)を使用してリクエストされた型アリティに一致させます。
      パラメータ:
      linkerServices - 型変換に使用するリンカー・サービス
      test - テスト・メソッド・ハンドル
      type - メソッド・ハンドルを適用する型
      戻り値:
      適合したメソッド・ハンドル
    • getClassGuard

      public static MethodHandle getClassGuard​(Class<?> clazz)
      正確な特定のクラスであるために唯一の引数をテストするガード・メソッドを作成します。
      パラメータ:
      clazz - テストするクラス。
      戻り値:
      所望のガード・メソッド。
    • getInstanceOfGuard

      public static MethodHandle getInstanceOfGuard​(Class<?> clazz)
      特定のクラスのインスタンスであるために唯一の引数をテストするガード・メソッドを作成します。
      パラメータ:
      clazz - テストするクラス。
      戻り値:
      所望のガード・メソッド。
    • getIdentityGuard

      public static MethodHandle getIdentityGuard​(Object obj)
      他のオブジェクトと同じ参照を持つために唯一の引数をテストするガード・メソッドを作成
      パラメータ:
      obj - 参照同一性テストとして使用されるオブジェクト
      戻り値:
      所望のガード・メソッド。
    • isNull

      public static MethodHandle isNull()
      最初の引数がnullかどうかを調べるガードを返します。
      戻り値:
      最初の引数がnullかどうかを調べるガード。
    • isNotNull

      public static MethodHandle isNotNull()
      最初の引数がnullでないかどうかを調べるガードを返します。
      戻り値:
      最初の引数がnullでないかどうかを調べるガード。