|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.seasar.util.lang.ClassUtil
public abstract class ClassUtil
Class
用のユーティリティクラスです。
フィールドの概要 | |
---|---|
protected static Map<String,Class<?>> |
primitiveNameToClassMap
プリミティブ型の名前からクラスへのマップ |
protected static Map<Class<?>,Class<?>> |
primitiveToWrapperMap
プリミティブ型からラッパー型へのマップ |
protected static Map<Class<?>,Class<?>> |
wrapperToPrimitiveMap
ラッパー型からプリミティブ型へのマップ |
コンストラクタの概要 | |
---|---|
ClassUtil()
|
メソッドの概要 | ||
---|---|---|
static String |
concatName(String s1,
String s2)
クラス名の要素を結合します。 |
|
static Class<?> |
convertClass(String className)
プリミティブクラスの場合は、ラッパークラスに変換して返します。 |
|
static
|
forName(String className)
現在のスレッドのコンテキストクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、 Class オブジェクトを返します。 |
|
static
|
forName(String className,
ClassLoader loader)
指定されたクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた Class
オブジェクトを返します。 |
|
static
|
forNameNoException(String className)
現在のスレッドのコンテキストクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、 Class オブジェクトを返します。 |
|
static
|
forNameNoException(String className,
ClassLoader loader)
指定されたクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、 Class
オブジェクトを返します。 |
|
static
|
getConstructor(Class<T> clazz,
Class<?>... argTypes)
Class オブジェクトが表すクラスの指定されたpublic コンストラクタをリフレクトする
Constructor オブジェクトを返します。 |
|
static
|
getDeclaredConstructor(Class<T> clazz,
Class<?>... argTypes)
Class オブジェクトが表すクラスまたはインタフェースの指定されたコンストラクタをリフレクトする
Constructor オブジェクトを返します。 |
|
static Field |
getDeclaredField(Class<?> clazz,
String name)
Class オブジェクトが表すクラスまたはインタフェースの指定された宣言フィールドをリフレクトするField
オブジェクトを返します。 |
|
static Method |
getDeclaredMethod(Class<?> clazz,
String name,
Class<?>... argTypes)
Class オブジェクトが表すクラスまたはインタフェースの指定されたメンバメソッドをリフレクトするMethod
オブジェクトを返します。 |
|
static Field |
getField(Class<?> clazz,
String name)
Class オブジェクトが表すクラスまたはインタフェースの指定されたpublic メンバフィールドをリフレクトする
Field オブジェクトを返します。 |
|
static Method |
getMethod(Class<?> clazz,
String name,
Class<?>... argTypes)
Class オブジェクトが表すクラスまたはインタフェースの指定されたpublic メンバメソッドをリフレクトする
Method オブジェクトを返します。 |
|
static String |
getPackageName(Class<?> clazz)
パッケージ名を返します。 |
|
static Class<?> |
getPrimitiveClass(Class<?> clazz)
ラッパークラスをプリミティブクラスに変換します。 |
|
static Class<?> |
getPrimitiveClassIfWrapper(Class<?> clazz)
ラッパークラスならプリミティブクラスに、 そうでなければそのままクラスを返します。 |
|
static String |
getResourcePath(Class<?> clazz)
クラス名をリソースパスとして表現します。 |
|
static String |
getResourcePath(String className)
クラス名をリソースパスとして表現します。 |
|
static String |
getShortClassName(String className)
FQCNからパッケージ名を除いた名前を返します。 |
|
static String |
getSimpleClassName(Class<?> clazz)
配列の場合は要素のクラス名に[]を加えた文字列、それ以外はクラス名そのものを返します。 |
|
static Class<?> |
getWrapperClass(Class<?> clazz)
プリミティブクラスをラッパークラスに変換します。 |
|
static Class<?> |
getWrapperClassIfPrimitive(Class<?> clazz)
クラスがプリミティブの場合はラッパークラス、そうでない場合はもとのクラスを返します。 |
|
static boolean |
isAssignableFrom(Class<?> toClass,
Class<?> fromClass)
代入可能かどうかを返します。 |
|
static
|
newInstance(Class<T> clazz)
指定されたクラスのデフォルトコンストラクタで、クラスの新しいインスタンスを作成および初期化します。 |
|
static
|
newInstance(String className)
指定されたクラスをコンテキストクラスローダから取得し、デフォルトコンストラクタで、クラスの新しいインスタンスを作成および初期化します。 |
|
static
|
newInstance(String className,
ClassLoader loader)
指定されたクラスを指定のクラスローダから取得し、デフォルトコンストラクタで、クラスの新しいインスタンスを作成および初期化します。 |
|
static String[] |
splitPackageAndShortClassName(String className)
FQCNをパッケージ名とFQCNからパッケージ名を除いた名前に分けます。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected static final Map<Class<?>,Class<?>> wrapperToPrimitiveMap
protected static final Map<Class<?>,Class<?>> primitiveToWrapperMap
protected static final Map<String,Class<?>> primitiveNameToClassMap
コンストラクタの詳細 |
---|
public ClassUtil()
メソッドの詳細 |
---|
public static <T> Class<T> forName(String className) throws ClassNotFoundRuntimeException
Class
オブジェクトを返します。
T
- Class
オブジェクトが表すクラスclassName
- 要求するクラスの完全修飾名。nullや空文字列であってはいけません
Class
オブジェクト
ClassNotFoundRuntimeException
- クラスが見つからなかった場合Class.forName(String, boolean, ClassLoader)
public static <T> Class<T> forName(String className, ClassLoader loader) throws ClassNotFoundRuntimeException
Class
オブジェクトを返します。
T
- Class
オブジェクトが表すクラスclassName
- 要求するクラスの完全修飾名。nullや空文字列であってはいけませんloader
- クラスのロード元である必要があるクラスローダ
Class
オブジェクト
EmptyArgumentException
- クラス名がnullまたは空文字列だった場合
ClassNotFoundRuntimeException
- クラスが見つからなかった場合Class.forName(String, boolean, ClassLoader)
public static <T> Class<T> forNameNoException(String className)
Class
オブジェクトを返します。
クラスが見つからなかった場合はnull
を返します。
T
- Class
オブジェクトが表すクラスclassName
- 要求するクラスの完全修飾名
Class
オブジェクトClass.forName(String)
public static <T> Class<T> forNameNoException(String className, ClassLoader loader)
Class
オブジェクトを返します。
クラスが見つからなかった場合はnull
を返します。
T
- Class
オブジェクトが表すクラスclassName
- 要求するクラスの完全修飾名loader
- クラスのロード元である必要があるクラスローダ
Class
オブジェクトClass.forName(String)
public static Class<?> convertClass(String className) throws ClassNotFoundRuntimeException
className
- クラス名。nullや空文字列であってはいけません
Class
EmptyArgumentException
- クラス名がnullまたは空文字列だった場合
ClassNotFoundRuntimeException
- ClassNotFoundException
がおきた場合forName(String)
public static <T> T newInstance(Class<T> clazz) throws InstantiationRuntimeException, IllegalAccessRuntimeException
T
- Class
オブジェクトが表すクラスclazz
- クラスを表すClass
オブジェクト。nullであってはいけません
InstantiationRuntimeException
- 基本となるコンストラクタを宣言するクラスがabstract
クラスを表す場合
IllegalAccessRuntimeException
- 実パラメータ数と仮パラメータ数が異なる場合、 プリミティブ引数のラップ解除変換が失敗した場合、 またはラップ解除後、
メソッド呼び出し変換によってパラメータ値を対応する仮パラメータ型に変換できない場合、
このコンストラクタが列挙型に関連している場合Constructor.newInstance(Object[])
public static <T> T newInstance(String className) throws ClassNotFoundRuntimeException, InstantiationRuntimeException, IllegalAccessRuntimeException
T
- 生成するインスタンスの型className
- クラス名。nullや空文字列であってはいけません
ClassNotFoundRuntimeException
- クラスが見つからなかった場合
InstantiationRuntimeException
- 基本となるコンストラクタを宣言するクラスがabstract
クラスを表す場合
IllegalAccessRuntimeException
- 実パラメータ数と仮パラメータ数が異なる場合、 プリミティブ引数のラップ解除変換が失敗した場合、 またはラップ解除後、
メソッド呼び出し変換によってパラメータ値を対応する仮パラメータ型に変換できない場合、
このコンストラクタが列挙型に関連している場合newInstance(Class)
,
forName(String)
public static <T> T newInstance(String className, ClassLoader loader) throws ClassNotFoundRuntimeException, InstantiationRuntimeException, IllegalAccessRuntimeException
T
- 生成するインスタンスの型className
- クラス名。nullや空文字列であってはいけませんloader
- クラスローダ
ClassNotFoundRuntimeException
- ClassNotFoundException
がおきた場合
InstantiationRuntimeException
- InstantiationException
がおきた場合
IllegalAccessRuntimeException
- IllegalAccessException
がおきた場合newInstance(Class)
,
forName(String, ClassLoader)
public static boolean isAssignableFrom(Class<?> toClass, Class<?> fromClass)
toClass
- 代入先のクラス。nullであってはいけませんfromClass
- 代入元のクラス。nullであってはいけません
Class.isAssignableFrom(Class)
public static Class<?> getPrimitiveClass(Class<?> clazz)
clazz
- ラッパークラス。nullであってはいけません
public static Class<?> getPrimitiveClassIfWrapper(Class<?> clazz)
clazz
- クラス。nullであってはいけません
public static Class<?> getWrapperClass(Class<?> clazz)
clazz
- プリミティブクラス。nullであってはいけません
public static Class<?> getWrapperClassIfPrimitive(Class<?> clazz)
clazz
- クラス。nullであってはいけません
public static <T> Constructor<T> getConstructor(Class<T> clazz, Class<?>... argTypes) throws NoSuchConstructorRuntimeException
Class
オブジェクトが表すクラスの指定されたpublic
コンストラクタをリフレクトする
Constructor
オブジェクトを返します。
T
- Class
オブジェクトが表すクラスclazz
- クラスのClass
オブジェクト。nullであってはいけませんargTypes
- パラメータ配列
argTypes
と一致するpublic
コンストラクタの
Constructor
オブジェクト
NoSuchConstructorRuntimeException
- 一致するコンストラクタが見つからない場合Class.getConstructor(Class...)
public static <T> Constructor<T> getDeclaredConstructor(Class<T> clazz, Class<?>... argTypes) throws NoSuchConstructorRuntimeException
Class
オブジェクトが表すクラスまたはインタフェースの指定されたコンストラクタをリフレクトする
Constructor
オブジェクトを返します。
T
- Class
オブジェクトが表すクラスclazz
- クラスのClass
オブジェクト。nullであってはいけませんargTypes
- パラメータ配列
argTypes
と一致するコンストラクタのConstructor
オブジェクト
NoSuchConstructorRuntimeException
- 一致するコンストラクタが見つからない場合Class.getDeclaredConstructor(Class...)
public static Field getField(Class<?> clazz, String name) throws NoSuchFieldRuntimeException
Class
オブジェクトが表すクラスまたはインタフェースの指定されたpublic
メンバフィールドをリフレクトする
Field
オブジェクトを返します。
clazz
- クラスのClass
オブジェクト。nullであってはいけませんname
- フィールド名。nullや空文字列であってはいけません
name
で指定されたこのクラスのField
オブジェクト
EmptyArgumentException
- フィールド名がnullまたは空文字列だった場合
NoSuchFieldRuntimeException
- 指定された名前のフィールドが見つからない場合Class.getField(String)
public static Field getDeclaredField(Class<?> clazz, String name) throws NoSuchFieldRuntimeException
Class
オブジェクトが表すクラスまたはインタフェースの指定された宣言フィールドをリフレクトするField
オブジェクトを返します。
clazz
- クラスのClass
オブジェクト。nullであってはいけませんname
- フィールド名。nullや空文字列であってはいけません
name
で指定されたこのクラスのField
オブジェクト
NoSuchFieldRuntimeException
- 指定された名前のフィールドが見つからない場合Class.getDeclaredField(String)
public static Method getMethod(Class<?> clazz, String name, Class<?>... argTypes) throws NoSuchMethodRuntimeException
Class
オブジェクトが表すクラスまたはインタフェースの指定されたpublic
メンバメソッドをリフレクトする
Method
オブジェクトを返します。
clazz
- クラスのClass
オブジェクト。nullであってはいけませんname
- メソッドの名前。nullや空文字列であってはいけませんargTypes
- パラメータのリスト
name
およびargTypes
と一致するMethod
オブジェクト
EmptyArgumentException
- メソッド名がnullまたは空文字列だった場合
NoSuchMethodRuntimeException
- 一致するメソッドが見つからない場合Class.getMethod(String, Class...)
public static Method getDeclaredMethod(Class<?> clazz, String name, Class<?>... argTypes) throws NoSuchMethodRuntimeException
Class
オブジェクトが表すクラスまたはインタフェースの指定されたメンバメソッドをリフレクトするMethod
オブジェクトを返します。
clazz
- クラスのClass
オブジェクト。nullであってはいけませんname
- メソッドの名前。nullや空文字列であってはいけませんargTypes
- パラメータのリスト
name
およびargTypes
と一致するMethod
オブジェクト
NoSuchMethodRuntimeException
- 一致するメソッドが見つからない場合Class.getDeclaredMethod(String, Class...)
public static String getPackageName(Class<?> clazz)
clazz
- クラス。nullであってはいけません
public static String getShortClassName(String className)
className
- クラス名。nullや空文字列であってはいけません
public static String[] splitPackageAndShortClassName(String className)
className
- クラス名。nullや空文字列であってはいけません
public static String getSimpleClassName(Class<?> clazz)
clazz
- クラス。nullであってはいけません
public static String getResourcePath(Class<?> clazz)
clazz
- クラス。nullであってはいけません
getResourcePath(String)
public static String getResourcePath(String className)
className
- クラス名。nullや空文字列であってはいけません
public static String concatName(String s1, String s2)
s1
- クラス名の要素1s2
- クラス名の要素2
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |