- java.lang.Object
- 
- java.lang.ClassLoader
- 
- java.security.SecureClassLoader
 
 
- 
- 直系の既知のサブクラス:
- URLClassLoader
 
 public class SecureClassLoader extends ClassLoader このクラスは、デフォルトでシステム・ポリシーによって抽出される関連したコード・ソースとアクセス権を持つクラスを定義するための追加サポートを使用して、ClassLoaderを拡張します。- 導入されたバージョン:
- 1.2
 
- 
- 
コンストラクタのサマリーコンストラクタ 修飾子 コンストラクタ 説明 protectedSecureClassLoader()委譲のためにデフォルトの親クラス・ローダーを使って、新規SecureClassLoaderを作成します。protectedSecureClassLoader(ClassLoader parent)委譲のために指定された親クラス・ローダーを使って、新規SecureClassLoaderを作成します。protectedSecureClassLoader(String name, ClassLoader parent)指定された名前の新しいSecureClassLoaderを作成し、指定された親クラス・ローダーを委譲のために使用します。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 protected Class<?>defineClass(String name, byte[] b, int off, int len, CodeSource cs)バイトの配列を、オプションのCodeSourceを使用してClassクラスのインスタンスに変換します。protected 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メソッドがクラス・ローダーの作成を許可しない場合。
- 関連項目:
- SecurityManager.checkCreateClassLoader()
 
 - 
SecureClassLoaderprotected SecureClassLoader() 委譲のためにデフォルトの親クラス・ローダーを使って、新規SecureClassLoaderを作成します。セキュリティ・マネージャが存在する場合、このクラス・ローダーの作成が許可されるように、このメソッドは最初にセキュリティ・マネージャの checkCreateClassLoaderメソッドを呼び出します。- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- checkCreateClassLoaderメソッドがクラス・ローダーの作成を許可しない場合。
- 関連項目:
- SecurityManager.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から- off+len-1までの位置にあるbyteは、『Java™仮想マシン仕様』で定義される有効なクラス・ファイルの形式を持つ。
- 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までの位置にあるbyteは、『Java™仮想マシン仕様』で定義される有効なクラス・ファイルの形式を持つ。
- cs- 関連したCodeSource。存在しない場合は- null
- 戻り値:
- データから作成されたClassオブジェクトと、オプションのCodeSource。
- 例外:
- ClassFormatError- データが有効なクラスを含まなかった場合
- SecurityException- このクラスではなく、別の証明書のセットを使って署名されたクラスを含むパッケージにこのクラスを追加しようとする場合、またはクラス名がjavaで始まる場合。
- 導入されたバージョン:
- 1.5
 
 - 
getPermissionsprotected PermissionCollection getPermissions(CodeSource codesource) 指定されたCodeSourceオブジェクトのアクセス権を返します。このメソッドは、定義されたクラスのProtectionDomainを構築しているときに、CodeSourceを引数として取るdefineClassメソッドによって呼び出されます。 - パラメータ:
- codesource- コード・ソース。
- 戻り値:
- コード・ソースに与えられたアクセス権。
 
 
- 
 
-