|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.lang.ClassLoader java.security.SecureClassLoader
public class SecureClassLoader
このクラスは、デフォルトでシステムポリシーによって抽出される関連したコードソースとアクセス権を持つクラスを定義するための追加サポートを使用して、ClassLoader を拡張します。
コンストラクタの概要 | |
---|---|
protected |
SecureClassLoader()
委譲のためにデフォルトの親クラスローダーを使って、新規 SecureClassLoader を作成します。 |
protected |
SecureClassLoader(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 PermissionCollection |
getPermissions(CodeSource codesource)
指定された CodeSource オブジェクトのアクセス権を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
protected SecureClassLoader(ClassLoader parent)
セキュリティーマネージャーが存在する場合、このメソッドは最初にセキュリティーマネージャーの checkCreateClassLoader
メソッドを呼び出すことにより、このクラスローダーの作成が許可されていることを確認します。
parent
- 親の ClassLoader
SecurityException
- セキュリティーマネージャーが存在し、その checkCreateClassLoader
メソッドがクラスローダーの作成を許可しない場合SecurityManager.checkCreateClassLoader()
protected SecureClassLoader()
セキュリティーマネージャーが存在する場合、このメソッドは最初にセキュリティーマネージャーの checkCreateClassLoader
メソッドを呼び出すことにより、このクラスローダーの作成が許可されていることを確認します。
SecurityException
- セキュリティーマネージャーが存在し、その checkCreateClassLoader
メソッドがクラスローダーの作成を許可しない場合SecurityManager.checkCreateClassLoader()
メソッドの詳細 |
---|
protected final Class<?> defineClass(String name, byte[] b, int off, int len, CodeSource cs)
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」で始まる場合protected final Class<?> defineClass(String name, ByteBuffer b, CodeSource cs)
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」で始まる場合protected PermissionCollection getPermissions(CodeSource codesource)
このメソッドは、定義されたクラスの ProtectionDomain を構築しているときに、CodeSource を引数として取る defineClass メソッドによって呼び出されます。
codesource
- コードソース
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。