Класс 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). |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного интервала реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного интервала реального времени. |
Подробное описание конструкторов
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.