- java.lang.Object
- 
- java.rmi.server.RMIClassLoaderSpi
 
- 
 public abstract class RMIClassLoaderSpi extends Object RMIClassLoaderSpiは、RMIClassLoaderのサービス・プロバイダ・インタフェースです。 特に、RMIClassLoaderSpiインスタンスは、RMIClassLoaderの次のstaticメソッドの実装を提供します。- RMIClassLoader.loadClass(URL,String)
- RMIClassLoader.loadClass(String,String)
- RMIClassLoader.loadClass(String,String,ClassLoader)
- RMIClassLoader.loadProxyClass(String,String[],ClassLoader)
- RMIClassLoader.getClassLoader(String)
- RMIClassLoader.getClassAnnotation(Class)
 RMIClassLoaderのマニュアルを参照してください。- 導入されたバージョン:
- 1.4
- 関連項目:
- RMIClassLoader
 
- 
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 RMIClassLoaderSpi()
 - 
メソッドのサマリー修飾子と型 メソッド 説明 abstract StringgetClassAnnotation(クラス<?> cl)RMIClassLoader.getClassAnnotation(Class)の実装を提供します。abstract ClassLoadergetClassLoader(String codebase)RMIClassLoader.getClassLoader(String)の実装を提供します。abstract Class<?>loadClass(String codebase, String name, ClassLoader defaultLoader)abstract Class<?>loadProxyClass(String codebase, String[] interfaces, ClassLoader defaultLoader)
 
- 
- 
- 
メソッドの詳細- 
loadClasspublic 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-- codebaseが- null以外でかつ無効なURLを含んでいる場合、または- codebaseが- nullでかつクラスのロード時に使用されたプロバイダ固有URLが無効である場合
- ClassNotFoundException- クラスの定義が指定された場所になかった場合
 
 - 
loadProxyClasspublic 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-- codebaseが- null以外でかつ無効なURLを含んでいる場合、または- codebaseが- nullでかつクラスのロード時に使用されたプロバイダ固有URLが無効である場合
- ClassNotFoundException- 指定されたインタフェースの定義のいずれかが指定された場所に見つからない場合、または動的プロキシ・クラスの作成に失敗した場合(- Proxy.getProxyClass(ClassLoader,Class[])が、指定されたインタフェース・リストに対して- IllegalArgumentExceptionをスローしたときなど)
 
 - 
getClassLoaderpublic abstract ClassLoader getClassLoader(String codebase) throws MalformedURLException RMIClassLoader.getClassLoader(String)の実装を提供します。 指定されたコード・ベースURLパスからクラスをロードするクラス・ローダーを返します。セキュリティ・マネージャが存在する場合は、 RuntimePermission("getClassLoader")アクセス権を使用してcheckPermissionメソッドが呼び出され、この結果SecurityExceptionになることがあります。 このメソッドの実装は、呼出し側コンテキストがコード・ベースURLパス内のすべてのURLに対するアクセス権を持っているかどうかについて、セキュリティ・チェックを行うこともあります。- パラメータ:
- codebase- 返されるクラス・ローダーがロードするクラスが格納されているURLのリスト(区切り文字はスペース)、または- null
- 戻り値:
- 指定されたコード・ベースURLパスからクラスをロードするクラス・ローダー
- 例外:
- MalformedURLException-- codebaseが- null以外でかつ無効なURLを含んでいる場合、または- codebaseが- nullでかつクラス・ローダーの識別に使用されたプロバイダ固有URLが無効である場合
- SecurityException- セキュリティ・マネージャが存在するときに、その- checkPermissionメソッドが失敗した場合。または、呼出し側がコード・ベースURLパス内のすべてのURLに接続するアクセス権を持っていない場合
 
 - 
getClassAnnotationpublic abstract String getClassAnnotation(Class<?> cl) RMIClassLoader.getClassAnnotation(Class)の実装を提供します。 クラス定義の位置を示す注釈文字列を返します。RMIはこれを使用して、指定されたクラスのオブジェクトの整列化を行う際に、クラス記述子に注釈を加えます。- パラメータ:
- cl- 注釈を取得する対象のクラス
- 戻り値:
- 整列化時に指定されたクラスに注釈を加えるために使用される文字列、またはnull
- 例外:
- NullPointerException-- clが- nullである場合
 
 
- 
 
-