Класс 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.- Начиная с:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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 базы кода. Реализация этого метода должна либо возвращать класс с указанным именем, либо выбрасывать исключение.
- Параметры:
-
codebase— список URL-адресов (разделённых пробелами), из которых следует загрузить класс, илиnull -
name— имя загружаемого класса -
defaultLoader— дополнительный контекстный загрузчик классов, илиnull - Возвращает:
- объект
Class, представляющий загруженный класс - Выбрасывает:
-
MalformedURLException— еслиcodebaseне являетсяnullи содержит недопустимый URL-адрес либо еслиcodebaseявляетсяnullи 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— еслиcodebaseне являетсяnullи содержит недопустимый URL-адрес либо еслиcodebaseявляетсяnullи URL-адрес, используемый поставщиком для загрузки классов, недопустим -
ClassNotFoundException— если определение одного из указанных интерфейсов не найдено в заданном расположении либо если не удалось создать класс динамического прокси (например, еслиProxy.getProxyClass(ClassLoader,Class[])выбросил быIllegalArgumentExceptionдля указанного списка интерфейсов)
getClassLoader
public abstract ClassLoader getClassLoader(String codebase) throws MalformedURLException
Предоставляет реализацию для
RMIClassLoader.getClassLoader(String). Возвращает загрузчик классов, загружающий классы из указанного пути URL базы кода.- Параметры:
-
codebase— список URL-адресов (разделённых пробелами), из которых возвращаемый загрузчик классов будет загружать классы, илиnull - Возвращает:
- загрузчик классов, загружающий классы из указанного пути URL базы кода
- Выбрасывает:
-
MalformedURLException— еслиcodebaseне являетсяnullи содержит недопустимый URL-адрес либо еслиcodebaseявляетсяnullи URL-адрес, используемый поставщиком для идентификации загрузчика классов, недопустим
getClassAnnotation
public abstract String getClassAnnotation(Class<?> cl)
Предоставляет реализацию для
RMIClassLoader.getClassAnnotation(Class). Возвращает строку аннотации (представляющую расположение определения класса), которую RMI будет использовать для аннотирования дескриптора класса при маршализации объектов указанного класса.- Параметры:
-
cl— класс, для которого требуется получить аннотацию - Возвращает:
- строку для аннотирования указанного класса при его маршализации или
null - Выбрасывает:
-
NullPointerException— еслиclявляетсяnull
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RMIClassLoaderSpi.html