|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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
内の findClass
name
- クラスの名前
ClassNotFoundException
- クラスが見つからない場合protected Package definePackage(String name, Manifest man, URL url) throws IllegalArgumentException
name
- パッケージ名man
- パッケージのバージョン、およびシーリング情報を含むマニフェストurl
- パッケージのコードソース URL。ない場合は null
IllegalArgumentException
- このクラスローダーまたはその上位クラスローダーのいずれかに含まれる既存のパッケージと、このパッケージの名前が重複している場合public URL findResource(String name)
ClassLoader
内の findResource
name
- リソースの名前
URL
。リソースが見つからなかった場合は null
public Enumeration<URL> findResources(String name) throws IOException
ClassLoader
内の findResources
name
- リソース名
URL
の 列挙
IOException
- 入出力例外が発生した場合protected PermissionCollection getPermissions(CodeSource codesource)
この URL のプロトコルが「jar」の場合、許可されるアクセス権は、JAR ファイルの URL が必要とするアクセス権に基づいたものとなります。
プロトコルが「file」で、パスとしてファイルが指定されている場合には、そのファイルの読み取り権が許可されます。プロトコルが「file」で、パスがディレクトリである場合には、そのディレクトリ内に含まれるすべてのファイルの読み取り権と、(再帰的に) すべてのファイルとサブディレクトリの読み取り権が、許可されます。
プロトコルが「file」ではない場合は、URL で指定されたホストについて、ホストへの接続、ホストからの接続受け入れが許可されます。
SecureClassLoader
内の getPermissions
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
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。