|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
public class URLClassLoader
このクラスローダーは、JAR ファイルとディレクトリの両方を参照する URL の検索パスから、クラスとリソースをロードするために使用されます。「/」で終わる URL はすべて、ディレクトリを参照しているとみなされます。それ以外の場合、URL は JAR ファイルを参照しているとみなされます。JAR ファイルは必要に応じてオープンされます。
URLClassLoader のインスタンスを生成したスレッドの AccessControlContext は、そのあとにクラスおよびリソースをロードするときに使われます。
ロードされるクラスには、デフォルトでは、URLClassLoader の作成時に指定された URL だけに接続できるアクセス権が与えられます。
| コンストラクタの概要 | |
|---|---|
URLClassLoader(URL[] urls)
委譲関係の親になっているデフォルトの ClassLoader を使って、指定された URL の新しい URLClassLoader を構築します。 |
|
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<URL> |
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, 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 の新しい URLClassLoader を構築します。URL は、親クラスローダー内で検索されたあと、クラスおよびリソースに指定された順で検索されます。「/」で終わる URL はすべて、ディレクトリを参照しているとみなされます。それ以外の場合、URL は JAR ファイルを参照しているとみなされます。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 - このクラスローダーまたはその上位クラスローダーのいずれかに含まれる既存のパッケージと、このパッケージの名前が重複している場合public URL findResource(String name)
ClassLoader 内の findResourcename - リソースの名前
URL。リソースが見つからなかった場合は null
public Enumeration<URL> findResources(String name)
throws IOException
ClassLoader 内の findResourcesname - リソース名
URL の 列挙
IOException - 入出力例外が発生した場合protected PermissionCollection getPermissions(CodeSource codesource)
この URL のプロトコルが「jar」の場合、許可されるアクセス権は、JAR ファイルの URL が必要とするアクセス権に基づいたものとなります。
プロトコルが「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 Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。