|
Java プラットフォーム 1.2 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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 - 委譲に使う親クラスローダcheckCreateClassLoader メソッドがクラスローダの作成を許可しない場合SecurityManager.checkCreateClassLoader()public URLClassLoader(URL[] urls)
ClassLoader を使って構築します。この URL は、親クラスローダで最初に検索されたあとに、クラスおよびリソースに指定された順序で検索されます。「/」で終わる URL は、ディレクトリを参照していると見なされます。その他の URL は、必要に応じてダウンロードして開かれる、JAR ファイルを参照していると見なされます。
セキュリティマネージャが存在する場合、このメソッドはまずセキュリティマネージャの checkCreateClassLoader メソッドを呼び出すことにより、このクラスローダの作成が許可されていることを確認します。
urls - クラスおよびリソースのロード元となる URLcheckCreateClassLoader メソッドがクラスローダの作成を許可しない場合SecurityManager.checkCreateClassLoader()
public URLClassLoader(URL[] urls,
ClassLoader parent,
URLStreamHandlerFactory factory)
セキュリティマネージャが存在する場合、このメソッドはまずセキュリティマネージャの checkCreateClassLoader メソッドを呼び出すことにより、このクラスローダの作成が許可されていることを確認します。
urls - クラスおよびリソースのロード元となる URLparent - 委譲に使う親クラスローダfactory - URL の作成時に使う URLStreamHandlerFactorycheckCreateClassLoader メソッドがクラスローダの作成を許可しない場合SecurityManager.checkCreateClassLoader()| メソッドの詳細 |
protected void addURL(URL url)
url - URL の検索パスに追加する URLpublic URL[] getURLs()
protected Class findClass(String name)
throws ClassNotFoundException
name - クラス名
protected Package definePackage(String name,
Manifest man,
URL url)
throws IllegalArgumentException
name - パッケージ名man - パッケージのバージョン、およびシーリング情報を含むマニフェストurl - パッケージのコードソース URL。ない場合は nullpublic URL findResource(String name)
name - リソースの名前
public Enumeration findResources(String name)
throws IOException
name - リソース名protected PermissionCollection getPermissions(CodeSource codesource)
プロトコルが「file」であり、パスがファイルを指定している場合は、そのファイルを読み取るアクセス権が与えられます。プロトコルが「file」であり、パス指定がディレクトリである場合、アクセス権は、そのディレクトリに含まれるすべてのファイルの読み取りと、再帰的に、ディレクトリのすべてのファイルおよびサブディレクトリの読み取りについて与えられます。
プロトコルが「file」ではない場合は、URL で指定されたホストについて、ホストへの接続、ホストからの接続受け入れが許可されます。
codesource - コードソース
public static URLClassLoader newInstance(URL[] urls,
ClassLoader parent)
loadClass メソッドは、このクラスをロードする前に SecurityManager.checkPackageAccess メソッドを呼び出します。urls - クラスおよびリソースの検索対象の URLparent - 委譲のための親クラスローダpublic static URLClassLoader newInstance(URL[] urls)
loadClass メソッドは、このクラスをロードする前に SecurityManager.checkPackageAccess メソッドを呼び出します。urls - クラスおよびリソースの検索対象の URL
|
Java プラットフォーム 1.2 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||