|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object
|
+--java.lang.ClassLoader
|
+--java.security.SecureClassLoader
|
+--java.net.URLClassLoader
このクラスローダは、JAR ファイルおよびディレクトリの両方を参照する URL の検索パスから、クラスおよびリソースをダウンロードするために使います。「/」で終わる URL は、ディレクトリを参照していると見なされます。その他の URL は、必要に応じて開かれる JAR ファイルを参照していると見なされます。
URLClassLoader のインスタンスを生成したスレッドの AccessControlContext は、そのあとにクラスおよびリソースをロードするときに使われます。
ロードされるクラスには、デフォルトでは、URLClassLoader の作成時に指定された URL だけに接続できるアクセス権が与えられます。
| コンストラクタの概要 | |
URLClassLoader(URL[] urls)
指定された URL の新しい URLClassLoader を、デフォルトの委譲の親である ClassLoader を使って構築します。 |
|
URLClassLoader(URL[] urls,
ClassLoader parent)
指定された URL の新しい URLClassLoader を構築します。 |
|
URLClassLoader(URL[] urls,
ClassLoader parent,
URLStreamHandlerFactory factory)
指定された URL、親クラスローダ、および URLStreamHandlerFactory のための、新しい URLClassLoader を構築します。 |
|
| メソッドの概要 | |
protected void |
addURL(URL url)
指定された URL を、クラスおよびリソースを検索するための URL リストに追加します。 |
protected Package |
definePackage(String name,
Manifest man,
URL url)
新しいパッケージを、この ClassLoader で名前を指定して定義します。 |
protected Class |
findClass(String name)
URL 検索パスから、指定された名前を持つクラスを検索してロードします。 |
URL |
findResource(String name)
URL 検索パス上で、指定された名前を持つリソースを検索します。 |
Enumeration |
findResources(String name)
URL 検索パス上の指定された名前を持つリソースを表す、URL の列挙を返します。 |
protected PermissionCollection |
getPermissions(CodeSource codesource)
指定された codesource オブジェクトのアクセス権を返します。 |
URL[] |
getURLs()
クラスおよびリソースをロードするための URL の検索パスを返します。 |
static URLClassLoader |
newInstance(URL[] urls)
指定された URL、およびデフォルトの親クラスローダについて、URLClassLoader の新しいインスタンスを作成します。 |
static URLClassLoader |
newInstance(URL[] urls,
ClassLoader parent)
指定された URL、および親クラスローダについて、URLClassLoader の新しいインスタンスを作成します。 |
| クラス java.security.SecureClassLoader から継承したメソッド |
defineClass |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
public URLClassLoader(URL[] urls,
ClassLoader parent)
セキュリティマネージャが存在する場合、このメソッドは最初にセキュリティマネージャの checkCreateClassLoader メソッドを呼び出すことにより、このクラスローダの作成が許可されていることを確認します。
urls - クラスおよびリソースのロード元となる URLparent - 委譲のための親クラスローダ
SecurityException - セキュリティマネージャが存在し、その checkCreateClassLoader メソッドがクラスローダの作成を許可しない場合SecurityManager.checkCreateClassLoader()public URLClassLoader(URL[] urls)
ClassLoader を使って構築します。この URL は、親クラスローダで最初に検索されたあとに、クラスおよびリソースに指定された順序で検索されます。「/」で終わる URL は、ディレクトリを参照していると見なされます。その他の URL は、必要に応じてダウンロードして開かれる、JAR ファイルを参照していると見なされます。
セキュリティマネージャが存在する場合、このメソッドは最初にセキュリティマネージャの checkCreateClassLoader メソッドを呼び出すことにより、このクラスローダの作成が許可されていることを確認します。
urls - クラスおよびリソースのロード元となる URL
SecurityException - セキュリティマネージャが存在し、その checkCreateClassLoader メソッドがクラスローダの作成を許可しない場合SecurityManager.checkCreateClassLoader()
public URLClassLoader(URL[] urls,
ClassLoader parent,
URLStreamHandlerFactory factory)
セキュリティマネージャが存在する場合、このメソッドは最初にセキュリティマネージャの checkCreateClassLoader メソッドを呼び出すことにより、このクラスローダの作成が許可されていることを確認します。
urls - クラスおよびリソースのロード元となる URLparent - 委譲のための親クラスローダfactory - URL の作成時に使う URLStreamHandlerFactory
SecurityException - セキュリティマネージャが存在し、その checkCreateClassLoader メソッドがクラスローダの作成を許可しない場合SecurityManager.checkCreateClassLoader()| メソッドの詳細 |
protected void addURL(URL url)
url - URL の検索パスに追加する URLpublic URL[] getURLs()
protected Class findClass(String name)
throws ClassNotFoundException
ClassLoader 内の findClassname - クラスの名前
ClassNotFoundException - クラスが見つからない場合
protected Package definePackage(String name,
Manifest man,
URL url)
throws IllegalArgumentException
name - パッケージ名man - パッケージのバージョン、およびシーリング情報を含むマニフェストurl - パッケージのコードソース URL。ない場合は null
IllegalArgumentException - パッケージ名が、このクラスローダかまたはその上位クラスローダのうちの 1 つに存在するパッケージと重複する場合public URL findResource(String name)
ClassLoader 内の findResourcename - リソースの名前
URL。リソースが見つからなかった場合は null
public Enumeration findResources(String name)
throws IOException
ClassLoader 内の findResourcesname - リソース名
URL の Enumeration
IOException - 入出力例外が発生した場合protected PermissionCollection getPermissions(CodeSource codesource)
プロトコルが「file」であり、パスがファイルを指定している場合は、そのファイルを読み取るアクセス権が与えられます。プロトコルが「file」であり、パス指定がディレクトリである場合、アクセス権は、そのディレクトリに含まれるすべてのファイルの読み取りと、再帰的に、ディレクトリのすべてのファイルおよびサブディレクトリの読み取りについて与えられます。
プロトコルが「file」ではない場合は、URL で指定されたホストについて、ホストへの接続、ホストからの接続受け入れが許可されます。
SecureClassLoader 内の getPermissionscodesource - コードソース
public static URLClassLoader newInstance(URL[] urls,
ClassLoader parent)
loadClass メソッドは、このクラスをロードする前に SecurityManager.checkPackageAccess メソッドを呼び出します。
urls - クラスおよびリソースの検索対象の URLparent - 委譲のための親クラスローダ
public static URLClassLoader newInstance(URL[] urls)
loadClass メソッドは、このクラスをロードする前に SecurityManager.checkPackageAccess メソッドを呼び出します。
urls - クラスおよびリソースの検索対象の URL
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.