java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
- 直系の既知のサブクラス:
- URLClassLoader
public class SecureClassLoader extends ClassLoader
このクラスは、デフォルトでシステム・ポリシーによって抽出される関連したコード・ソースとアクセス権を持つクラスを定義するための追加サポートを使用して、ClassLoaderを拡張します。
- 導入されたバージョン:
- 1.2
- 
コンストラクタのサマリーコンストラクタ修飾子コンストラクタ説明protected委譲のためにデフォルトの親クラス・ローダーを使って、新規SecureClassLoaderを作成します。protectedSecureClassLoader(ClassLoader parent) 委譲のために指定された親クラス・ローダーを使って、新規SecureClassLoaderを作成します。protectedSecureClassLoader(String name, ClassLoader parent) 指定された名前の新しいSecureClassLoaderを作成し、指定された親クラス・ローダーを委譲のために使用します。
- 
メソッドのサマリー修飾子と型メソッド説明protected final Class<?>defineClass(String name, byte[] b, int off, int len, CodeSource cs) バイトの配列を、オプションのCodeSourceを使用してClassクラスのインスタンスに変換します。protected final Class<?>defineClass(String name, ByteBuffer b, CodeSource cs) オプションのCodeSourceを使って、ByteBufferをクラスClassのインスタンスに変換します。protected PermissionCollectiongetPermissions(CodeSource codesource) 指定されたCodeSourceオブジェクトのアクセス権を返します。クラス java.lang.ClassLoaderで宣言されたメソッドclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
- 
コンストラクタの詳細- 
SecureClassLoaderprotected SecureClassLoader(ClassLoader parent) 委譲のために指定された親クラス・ローダーを使って、新規SecureClassLoaderを作成します。セキュリティ・マネージャが存在する場合、このクラス・ローダーの作成が許可されるように、このメソッドは最初にセキュリティ・マネージャの checkCreateClassLoaderメソッドを呼び出します。- パラメータ:
- parent- 親のClassLoader
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- checkCreateClassLoaderメソッドがクラス・ローダーの作成を許可しない場合。
- 関連項目:
 
- 
SecureClassLoaderprotected SecureClassLoader()委譲のためにデフォルトの親クラス・ローダーを使って、新規SecureClassLoaderを作成します。セキュリティ・マネージャが存在する場合、このクラス・ローダーの作成が許可されるように、このメソッドは最初にセキュリティ・マネージャの checkCreateClassLoaderメソッドを呼び出します。- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- checkCreateClassLoaderメソッドがクラス・ローダーの作成を許可しない場合。
- 関連項目:
 
- 
SecureClassLoaderprotected SecureClassLoader(String name, ClassLoader parent) 指定された名前の新しいSecureClassLoaderを作成し、指定された親クラス・ローダーを委譲のために使用します。- パラメータ:
- name- クラス・ローダー名;名前が付けられていない場合は- null
- parent- 親クラス・ローダー
- 例外:
- IllegalArgumentException- 指定された名前が空の場合。
- SecurityException- セキュリティ・マネージャが存在し、- SecurityManager.checkCreateClassLoader()メソッドがクラス・ローダーの作成を許可しない場合。
- 導入されたバージョン:
- 9
 
 
- 
- 
メソッドの詳細- 
defineClassprotected final Class<?> defineClass(String name, byte[] b, int off, int len, CodeSource cs) バイトの配列を、オプションのCodeSourceを使用してClassクラスのインスタンスに変換します。 最初にクラスを解決してからでなければ、クラスを使用することはできません。nullではないCodeSourceが提供される場合、ProtectionDomainは定義済みのクラスで構築され関連付けられます。 - パラメータ:
- name- クラスの名前として期待するもの。不明な場合は- null。区切り文字には「/」ではなく「.」を使う。クラス名のあとの接尾辞「.class」は付けない。
- b- クラス・データを構成するbyte。- off+len-1を介した- offの位置のバイトは、「Java Virtual Machine仕様」で定義されている有効なクラス・ファイルの形式である必要があります。
- off- クラス・データの- b内での開始オフセット
- len- クラス・データの長さ
- cs- 関連したCodeSource。存在しない場合は- null
- 戻り値:
- データから作成されたClassオブジェクトと、オプションのCodeSource。
- 例外:
- ClassFormatError- データが有効なクラスを含まなかった場合
- IndexOutOfBoundsException-- offまたは- lenが負の値の場合、あるいは- off+lenが- b.lengthより大きい場合。
- SecurityException- このクラスではなく、別の証明書のセットを使って署名されたクラスを含むパッケージにこのクラスを追加しようとする場合、またはクラス名が「java」で始まる場合。
 
- 
defineClassprotected final Class<?> defineClass(String name, ByteBuffer b, CodeSource cs) オプションのCodeSourceを使って、ByteBufferをクラスClassのインスタンスに変換します。 最初にクラスを解決してからでなければ、クラスを使用することはできません。nullではないCodeSourceが提供される場合、ProtectionDomainは定義済みのクラスで構築され関連付けられます。 - パラメータ:
- name- クラスの名前として期待するもの。不明な場合は- null。区切り文字には「/」ではなく「.」を使う。クラス名のあとの接尾辞「.class」は付けない。
- b- クラス・データを構成するbyte。- b.position()から- b.position() + b.limit() -1までの位置のバイトは、「Java Virtual Machine仕様」で定義されている有効なクラス・ファイルの形式である必要があります。
- cs- 関連したCodeSource。存在しない場合は- null
- 戻り値:
- データから作成されたClassオブジェクトと、オプションのCodeSource。
- 例外:
- ClassFormatError- データが有効なクラスを含まなかった場合
- SecurityException- このクラスではなく、別の証明書のセットを使って署名されたクラスを含むパッケージにこのクラスを追加しようとする場合、またはクラス名が「java」で始まる場合。
- 導入されたバージョン:
- 1.5
 
- 
getPermissionsprotected PermissionCollection getPermissions(CodeSource codesource) 指定されたCodeSourceオブジェクトのアクセス権を返します。このメソッドは、定義されたクラスのProtectionDomainを構築しているときに、CodeSourceを引数として取るdefineClassメソッドによって呼び出されます。 - パラメータ:
- codesource- コード・ソース。
- 戻り値:
- コード・ソースに与えられたアクセス権。
 
 
-