JavaTM 2
Platform
Std. Ed. v1.4.0

java.rmi.server
クラス RMIClassLoaderSpi

java.lang.Object
  |
  +--java.rmi.server.RMIClassLoaderSpi

public abstract class RMIClassLoaderSpi
extends Object

RMIClassLoaderSpi は、RMIClassLoader のサービスプロバイダインタフェースです。RMIClassLoaderSpi のインスタンスでは、RMIClassLoader の次の static メソッドが実装されます。

このメソッドのいずれかが呼び出されると、このクラスのインスタンスの対応するメソッドにその動作が委譲されます。各メソッドがプロバイダインスタンスに委譲する動作の詳細は、各メソッドのマニュアルを参照してください。選択されるプロバイダインスタンスについては、RMIClassLoader のマニュアルを参照してください。

導入されたバージョン:
JDK1.4
関連項目:
RMIClassLoader

コンストラクタの概要
RMIClassLoaderSpi()
           
 
メソッドの概要
abstract  String getClassAnnotation(Class cl)
          RMIClassLoader.getClassAnnotation(Class) を実装します。
abstract  ClassLoader getClassLoader(String codebase)
          RMIClassLoader.getClassLoader(String) を実装します。
abstract  Class loadClass(String codebase, String name, ClassLoader defaultLoader)
          RMIClassLoader.loadClass(URL,String)RMIClassLoader.loadClass(String,String)、および RMIClassLoader.loadClass(String,String,ClassLoader) を実装します。
abstract  Class loadProxyClass(String codebase, String[] interfaces, ClassLoader defaultLoader)
          RMIClassLoader.loadProxyClass(String,String[],ClassLoader) を実装します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

RMIClassLoaderSpi

public RMIClassLoaderSpi()
メソッドの詳細

loadClass

public abstract Class loadClass(String codebase,
                                String name,
                                ClassLoader defaultLoader)
                         throws MalformedURLException,
                                ClassNotFoundException
RMIClassLoader.loadClass(URL,String)RMIClassLoader.loadClass(String,String)、および RMIClassLoader.loadClass(String,String,ClassLoader) を実装します。コードベース URL パスからクラスをロードします。指定されたローダを使用することもできます。プロバイダの実装は通常、defaultLoader (指定されている場合) を使用して指定されたクラスを解決してから、コードベース URL パスのクラスを解決しようとします。

このメソッドの実装は、指定された名前のクラスを返すか、例外をスローします。

パラメータ:
codebase - クラスのロード元の URL のリスト (区切り文字はスペース)、または null
name - ロード対象クラスの名前
defaultLoader - 状況に応じて使用する追加クラスローダ、または null
戻り値:
ロードされたクラスを表す Class オブジェクト
例外:
MalformedURLException - codebasenull ではなく、無効な URL が含まれる場合。または codebasenull で、システムプロパティ java.rmi.server.codebase に無効な URL が含まれる場合
ClassNotFoundException - クラスの定義が指定された場所になかった場合

loadProxyClass

public abstract Class loadProxyClass(String codebase,
                                     String[] interfaces,
                                     ClassLoader defaultLoader)
                              throws MalformedURLException,
                                     ClassNotFoundException
RMIClassLoader.loadProxyClass(String,String[],ClassLoader) を実装します。指定された名前のインタフェースを実装する動的プロキシクラス (Proxy を参照) をコードベース URL パスからロードします。指定されたローダを使用することもできます。

このメソッドの実装は、指定されたインタフェースを実装するプロキシクラスを返すか、例外をスローする必要があります。

パラメータ:
codebase - クラスのロード元の URL のリスト (区切り文字はスペース)、または null
interfaces - プロキシクラスが実装するインタフェースの名前
defaultLoader - 状況に応じて使用する追加クラスローダ、または null
戻り値:
指定されたインタフェースを実装する動的プロキシクラス
例外:
MalformedURLException - codebasenull ではなく、無効な URL が含まれる場合。または codebasenull で、システムプロパティ java.rmi.server.codebase に無効な URL が含まれる場合
ClassNotFoundException - 指定されたインタフェースの定義のどれかが指定された場所に見つからない場合、または動的プロキシクラスの作成に失敗した場合 (たとえば Proxy.getProxyClass(ClassLoader,Class[]) が指定されたインタフェースのリストに対して IllegalArgumentException をスローした場合)

getClassLoader

public abstract ClassLoader getClassLoader(String codebase)
                                    throws MalformedURLException
RMIClassLoader.getClassLoader(String) を実装します。指定されたコードベース URL パスからクラスをロードする、クラスローダを返します。

セキュリティマネージャが存在する場合は、RuntimePermission("getClassLoader") アクセス権を使用して checkPermission メソッドが呼び出され、SecurityException がチェックされます。このメソッドの実装は、呼び出し側コンテキストがコードベース URL パス内のすべての URL に対するアクセス権を持っているかどうかについて、セキュリティチェックを行うこともあります。

パラメータ:
codebase - 返されるクラスローダがロードするクラスが格納されている URL のリスト (区切り文字はスペース)、または null
戻り値:
指定されたコードベース URL パスからクラスをロードするクラスローダ
例外:
MalformedURLException - codebasenull ではなく、無効な URL が含まれる場合。または codebasenull で、システムプロパティ java.rmi.server.codebase に無効な URL が含まれる場合
SecurityException - セキュリティマネージャが存在するときに、その checkPermission メソッドが失敗した場合。または、呼び出し側がコードベース URL パス内のすべての URL に対するアクセス権を持っていない場合

getClassAnnotation

public abstract String getClassAnnotation(Class cl)
RMIClassLoader.getClassAnnotation(Class) を実装します。クラス定義の位置を示す注釈文字列を返します。RMI はこれを使用して、指定されたクラスのオブジェクトの整列化を行う際に、クラス記述子に注釈を加えます。

パラメータ:
cl - 注釈を取得する対象のクラス
戻り値:
整列化時にクラスに注釈を加えるために使用される文字列、または null

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

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.