パッケージ myproject.java.utils
クラス ClassUtils
java.lang.Object
myproject.java.utils.ClassUtils
Classの操作を提供します。
Copyright ycookjp
https://github.com/ycookjp/-
メソッドの概要
修飾子とタイプメソッド説明static Fieldフィールド名を指定して、クラスで定義されているフィールドを取得します。static MethodfindMethod(Class<?> classz, String name, Class<?>[] parameterTypes, int modifiers) メソッド名とパラメータの型を指定して、クラスで定義されているフィールドを取得します。static FilegetClassDirParent(Class<? extends Object> cls) クラスを指定して、そのクラスが配置されているクラスパスのディレクトリの親ディレクトリ、 またはjarファイルのパスの親ディレクトリを取得します。
-
メソッドの詳細
-
getClassDirParent
クラスを指定して、そのクラスが配置されているクラスパスのディレクトリの親ディレクトリ、 またはjarファイルのパスの親ディレクトリを取得します。- パラメータ:
cls- クラスを指定します。- 戻り値:
- 取得したディレクトリの
Fileオブジェクトを返します。 ディレクトリを取得できなかった場合(主にセキュリティの製薬による)はnullを返します。 - 例外:
URISyntaxException- URIの構文が間違っている場合
-
findField
public static Field findField(Class<?> classz, String name, int modifiers) throws NoSuchFieldException, SecurityException フィールド名を指定して、クラスで定義されているフィールドを取得します。クラス定義されているフィールドの中で、指定された名前と一致するものを返します。フィールドの スコープはpublic以外のものでも名前が一致すればそのフィールドを返します。指定されたクラスに フィールドが見つからなかった場合は、以下の手順でインターフェース及びスーパー・クラスを 再帰的に取得して指定されたフィールド名に一致するフィールドを探索します。
- 指定されたクラスを実装しているインターフェースを順番に取得して、そのインターフェースで 定義されているフィールドを検索する
- 指定されたクラスのスーパー・クラスを取得して、そのクラスで定義されているフィールドを 検索する。
- パラメータ:
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以外のものでも名前と型が一致すればそのメソッドを 返します。指定されたクラスにメソッドが見つからなかった場合は、以下の手順で インターフェース及びスーパー・クラスを再帰的に取得して指定されたメソッド名及び型に 一致するメソッドを探索します。
- 指定されたクラスを実装しているインターフェースを順番に取得して、そのインターフェースで 定義されているメソッドを検索する
- 指定されたクラスのスーパー・クラスを取得して、そのクラスで定義されているメソッドを 検索する。
- パラメータ:
classz- クラスname- メソッド名parameterTypes- パラメータの型の配列。メソッドのパラメータの順番にパラメータの クラスを配列に設定する。modifiers- フィールドの取得対象のアクセス修飾子をModifierクラスの定数の和で 指定する。取得対象のアクセス修飾子を指定しない場合は、-1を指定すること。- 戻り値:
- 見つかったメソッドを返します。クラス名またはメソッド名にnullを指定した場合はnullを 返します。
- 例外:
NoSuchMethodException- 指定された名前及び方に一致するメソッドが見つからなかった場合SecurityException- セキュリティ・マネージャでエラーが発生した場合。エラーの 発生する条件は、Class.getDeclaredMethod(String, Class...)の仕様を参照のこと。
-