Java プラットフォーム 1.2

java.security
クラス SecureClassLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--java.security.SecureClassLoader
直接の既知のサブクラス:
URLClassLoader

public class SecureClassLoader
extends ClassLoader

このクラスは、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  PermissionCollection getPermissions(CodeSource codesource)
          codesource オブジェクトのアクセス権を返します。
 
クラス java.lang.ClassLoader から継承したメソッド
defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setSigners
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SecureClassLoader

protected SecureClassLoader(ClassLoader parent)
委譲のための指定された親クラスローダを使って、新しい SecureClassLoader を作成します。

セキュリティマネージャが存在する場合、このメソッドはまず、セキュリティマネージャの checkCreateClassLoader メソッドを呼び出してクラスローダの作成が許可されるかどうかを確認します。

パラメータ:
parent - 親の ClassLoader
例外:
SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの checkCreateClassLoader メソッドがクラスローダの作成を許可しないとき
関連項目:
SecurityManager.checkCreateClassLoader()

SecureClassLoader

protected SecureClassLoader()
委譲のためのデフォルトの親クラスローダを使って、新しい SecureClassLoader を作成します。

セキュリティマネージャが存在する場合、このメソッドはまず、セキュリティマネージャの checkCreateClassLoader メソッドを呼び出してクラスローダの作成が許可されるかどうかを確認します。

例外:
SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの checkCreateClassLoader メソッドがクラスローダの作成を許可しないとき
関連項目:
SecurityManager.checkCreateClassLoader()
メソッドの詳細

defineClass

protected final Class defineClass(String name,
                                  byte[] b,
                                  int off,
                                  int len,
                                  CodeSource cs)
バイトの配列を、オプションの CodeSource を使って Class クラスのインスタンスに変換します。クラスは、使う前に解決しておく必要があります。
パラメータ:
name - クラス名
b - クラスバイト
off - クラスバイトの開始オフセット
len - クラスバイト長
cs - 関連付けられた CodeSource。存在しない場合は null
戻り値:
データから作成された Class オブジェクトと、オプションの CodeSource

getPermissions

protected PermissionCollection getPermissions(CodeSource codesource)
codesource オブジェクトのアクセス権を返します。このメソッドのデフォルト実装は、java.security.Policy.getPermissions メソッドを呼び出して、指定された codesource に対しポリシーによって与えられたアクセス権を取得できます。

このメソッドは、定義中のクラスの ProtectionDomain を構築しているときに、CodeSource を引数として取る defineClass メソッドによって呼び出されます。

パラメータ:
codesource - コードソース
戻り値:
codesource に与えられているアクセス権

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.