パッケージ myproject.java.utils

クラス ClassUtils

java.lang.Object
myproject.java.utils.ClassUtils

public class ClassUtils extends Object
Classの操作を提供します。 Copyright ycookjp https://github.com/ycookjp/
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    static Field
    findField(Class<?> classz, String name, int modifiers)
    フィールド名を指定して、クラスで定義されているフィールドを取得します。
    static Method
    findMethod(Class<?> classz, String name, Class<?>[] parameterTypes, int modifiers)
    メソッド名とパラメータの型を指定して、クラスで定義されているフィールドを取得します。
    static File
    getClassDirParent(Class<? extends Object> cls)
    クラスを指定して、そのクラスが配置されているクラスパスのディレクトリの親ディレクトリ、 またはjarファイルのパスの親ディレクトリを取得します。

    クラスから継承されたメソッド java.lang.Object

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

    • getClassDirParent

      public static File getClassDirParent(Class<? extends Object> cls) throws URISyntaxException
      クラスを指定して、そのクラスが配置されているクラスパスのディレクトリの親ディレクトリ、 またはjarファイルのパスの親ディレクトリを取得します。
      パラメータ:
      cls - クラスを指定します。
      戻り値:
      取得したディレクトリのFileオブジェクトを返します。 ディレクトリを取得できなかった場合(主にセキュリティの製薬による)はnullを返します。
      例外:
      URISyntaxException - URIの構文が間違っている場合
    • findField

      public static Field findField(Class<?> classz, String name, int modifiers) throws NoSuchFieldException, SecurityException
      フィールド名を指定して、クラスで定義されているフィールドを取得します。

      クラス定義されているフィールドの中で、指定された名前と一致するものを返します。フィールドの スコープはpublic以外のものでも名前が一致すればそのフィールドを返します。指定されたクラスに フィールドが見つからなかった場合は、以下の手順でインターフェース及びスーパー・クラスを 再帰的に取得して指定されたフィールド名に一致するフィールドを探索します。

      1. 指定されたクラスを実装しているインターフェースを順番に取得して、そのインターフェースで 定義されているフィールドを検索する
      2. 指定されたクラスのスーパー・クラスを取得して、そのクラスで定義されているフィールドを 検索する。
      パラメータ:
      classz - クラス
      name - フィールド名
      modifiers - フィールドの取得対象のアクセス修飾子をModifierクラスの定数の和で 指定する。取得対象のアクセス修飾子を指定しない場合は、-1を指定すること。
      戻り値:
      見つかったフィールドを返します。クラスまたはフィールド名にnullを指定した場合は nullを返します。
      例外:
      NoSuchFieldException - 指定された名前と一致するフィールドが見つからなかった場合
      SecurityException - セキュリティ・マネージャでエラーが発生した場合。エラーの 発生する条件は、Class.getDeclaredField(String)の仕様を参照のこと。
    • findMethod

      public static Method findMethod(Class<?> classz, String name, Class<?>[] parameterTypes, int modifiers) throws NoSuchMethodException, SecurityException
      メソッド名とパラメータの型を指定して、クラスで定義されているフィールドを取得します。

      クラス定義されているメソッドの中で、指定された名前及びパラメータの型一致するものを 返します。メソッドのスコープはpublic以外のものでも名前と型が一致すればそのメソッドを 返します。指定されたクラスにメソッドが見つからなかった場合は、以下の手順で インターフェース及びスーパー・クラスを再帰的に取得して指定されたメソッド名及び型に 一致するメソッドを探索します。

      1. 指定されたクラスを実装しているインターフェースを順番に取得して、そのインターフェースで 定義されているメソッドを検索する
      2. 指定されたクラスのスーパー・クラスを取得して、そのクラスで定義されているメソッドを 検索する。
      パラメータ:
      classz - クラス
      name - メソッド名
      parameterTypes - パラメータの型の配列。メソッドのパラメータの順番にパラメータの クラスを配列に設定する。
      modifiers - フィールドの取得対象のアクセス修飾子をModifierクラスの定数の和で 指定する。取得対象のアクセス修飾子を指定しない場合は、-1を指定すること。
      戻り値:
      見つかったメソッドを返します。クラス名またはメソッド名にnullを指定した場合はnullを 返します。
      例外:
      NoSuchMethodException - 指定された名前及び方に一致するメソッドが見つからなかった場合
      SecurityException - セキュリティ・マネージャでエラーが発生した場合。エラーの 発生する条件は、Class.getDeclaredMethod(String, Class...)の仕様を参照のこと。