Класс RMIClassLoaderSpi
java.lang.Object
java.rmi.server.RMIClassLoaderSpi
public abstract class RMIClassLoaderSpi extends Object
RMIClassLoaderSpi — это интерфейс поставщика услуг для RMIClassLoader. В частности, экземпляр RMIClassLoaderSpi предоставляет реализацию следующих статических методов класса RMIClassLoader: -
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 для описания выбора экземпляра поставщика.- Since:
- 1.4
- See Also:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
RMIClassLoaderSpi() |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract String |
getClassAnnotation |
Предоставляет реализацию для RMIClassLoader.getClassAnnotation(Class). |
abstract ClassLoader |
getClassLoader |
Предоставляет реализацию для RMIClassLoader.getClassLoader(String). |
abstract Class |
loadClass |
Предоставляет реализацию для RMIClassLoader.loadClass(URL,String), RMIClassLoader.loadClass(String,String) и RMIClassLoader.loadClass(String,String,ClassLoader). |
abstract Class |
loadProxyClass |
Предоставляет реализацию для RMIClassLoader.loadProxyClass(String,String[],ClassLoader). |
Подробное описание конструкторов
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 кодовой базы. Реализация этого метода должна вернуть класс с заданным именем или выбросить исключение.
- Parameters:
-
codebase- список URL-адресов (разделенных пробелами) для загрузки класса, илиnull -
name- имя класса для загрузки -
defaultLoader- дополнительный контекстный загрузчик классов, илиnull - Returns:
- объект
Class, представляющий загруженный класс - Throws:
-
MalformedURLException- еслиcodebaseнеnullи содержит недействительный URL, или еслиcodebasenullи используется недействительный URL, специфичный для поставщика, для загрузки классов -
ClassNotFoundException- если определение класса не найдено по указанному расположению
loadProxyClass
public abstract Class<?> loadProxyClass(String codebase, String[] interfaces, ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException
Предоставляет реализацию для
RMIClassLoader.loadProxyClass(String,String[],ClassLoader). Загружает динамический класс прокси (см. Proxy), который реализует набор интерфейсов с указанными именами из пути URL кодовой базы, при необходимости используя предоставленный загрузчик. Реализация этого метода должна вернуть класс прокси, реализующий указанные интерфейсы, или выбросить исключение.
- Parameters:
-
codebase- список URL-адресов (разделенных пробелами) для загрузки классов, илиnull -
interfaces- имена интерфейсов для реализации классом прокси -
defaultLoader- дополнительный контекстный загрузчик классов, илиnull - Returns:
- динамический класс прокси, реализующий указанные интерфейсы
- Throws:
-
MalformedURLException- еслиcodebaseнеnullи содержит недействительный URL, или еслиcodebasenullи используется недействительный URL, специфичный для поставщика, для загрузки классов -
ClassNotFoundException- если определение одного из указанных интерфейсов не найдено по указанному расположению, или если создание динамического класса прокси не удалось (например, еслиProxy.getProxyClass(ClassLoader,Class[])выбросит исключениеIllegalArgumentExceptionдля данного списка интерфейсов)
getClassLoader
public abstract ClassLoader getClassLoader(String codebase) throws MalformedURLException
Предоставляет реализацию для
RMIClassLoader.getClassLoader(String). Возвращает загрузчик классов, который загружает классы из заданного пути URL кодовой базы.- Parameters:
-
codebase- список URL-адресов (разделенных пробелами), из которых возвращаемый загрузчик классов будет загружать классы, илиnull - Returns:
- загрузчик классов, который загружает классы из заданного пути URL кодовой базы
- Throws:
-
MalformedURLException- еслиcodebaseнеnullи содержит недействительный URL, или еслиcodebasenullи используется недействительный URL, специфичный для поставщика, для идентификации загрузчика классов
getClassAnnotation
public abstract String getClassAnnotation(Class<?> cl)
Предоставляет реализацию для
RMIClassLoader.getClassAnnotation(Class). Возвращает строку аннотации (представляющую расположение определения класса), которую RMI будет использовать для аннотации описателя класса при сериализации объектов заданного класса.- Parameters:
-
cl- класс, для которого требуется получить аннотацию - Returns:
- строка, используемая для аннотации заданного класса при сериализации, или
null - Throws:
-
NullPointerException- еслиclnull
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.rmi/java/rmi/server/RMIClassLoaderSpi.html