モジュール jdk.dynalink

クラスGuards

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

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

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

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

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

    • isOfClass

      public static MethodHandle isOfClass(Class<?> clazz, MethodType type)
      指定された型の引数を持つガード・メソッド・ハンドルを作成しますが、ブール戻り値を使用します。 呼び出されると、最初の引数が指定されたクラス(正確には、サブクラスではなく)のものである場合、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)
      ガードとして使用するメソッド・ハンドルを取得し、リクエストされた型に適応しますが、booleanを返します。 MethodHandle.asType(MethodType)を適用して型を変換し、MethodHandles.dropArguments(MethodHandle, int, Class...)を使用してリクエストされた型の引数に一致させます。
      パラメータ:
      test - テスト・メソッド・ハンドル
      type - メソッド・ハンドルを適用する型
      戻り値:
      適合したメソッド・ハンドル
    • asType

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

      public static MethodHandle getClassGuard(Class<?> clazz)
      特定のクラスであるための唯一の引数をテストするguardメソッドを作成します。
      パラメータ:
      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でないかどうかをテストするガード。