Spec-Zone .ru
спецификации, руководства, описания, API
|
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
для описания того, как выбирается экземпляр провайдера.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) . |
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)
. Загружает class из кодовой базы путь URL, дополнительно используя предоставленный загрузчик. Как правило, реализация провайдера попытается разрешить именованный class, используя данный defaultLoader
, если определено, прежде, чем попытаться разрешить class от кодовой базы путь URL. Реализация этого метода должна или возвратить class с именем или выдать исключение.
codebase
- список URL (разделенный пробелами), чтобы загрузить class из, или null
name
- имя class, чтобы загрузитьсяdefaultLoader
- дополнительный контекстный загрузчик class, чтобы использовать, или null
Class
объект, представляющий загруженный classMalformedURLException
- если codebase
не -null
и содержит недопустимый URL, или если codebase
null
и специфичный для провайдера URL, используемый, чтобы загрузить классы, недопустимClassNotFoundException
- если определение для class не могло бы быть найдено в указанном расположенииpublic abstract Class<?> loadProxyClass(String codebase, String[] interfaces, ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException
RMIClassLoader.loadProxyClass(String,String[],ClassLoader)
. Загружает динамический прокси class (см. Proxy
это реализует ряд интерфейсов с именами от кодовой базы путь URL, дополнительно используя предоставленный загрузчик. Реализация этого метода должна или возвратить прокси class, который реализует именованные интерфейсы, или выдайте исключение.
codebase
- список URL (разделенных пробелом), чтобы загрузить классы из, или null
interfaces
- имена интерфейсов для прокси class, чтобы реализоватьdefaultLoader
- дополнительный контекстный загрузчик class, чтобы использовать, или null
MalformedURLException
- если codebase
не -null
и содержит недопустимый URL, или если codebase
null
и специфичный для провайдера URL, используемый, чтобы загрузить классы, недопустимClassNotFoundException
- если определение для одного из именованных интерфейсов не могло бы быть найдено в указанном расположении, или если создание динамического прокси отказавший class (такой, как будто Proxy.getProxyClass(ClassLoader,Class[])
бросил бы IllegalArgumentException
для данного списка интерфейса)public abstract ClassLoader getClassLoader(String codebase) throws MalformedURLException
RMIClassLoader.getClassLoader(String)
. Возвращает загрузчик class, который загружает классы из данной кодовой базы путь URL. Если есть кормушка безопасности, checkPermission
метод будет вызван с a RuntimePermission("getClassLoader")
разрешение; это могло привести к a SecurityException
. Реализация этого метода может также выполнить дальнейшие проверки безопасности, чтобы проверить, что у контекста вызова есть разрешение, чтобы соединить со всеми URL в кодовой базе путь URL.
codebase
- список URL (разделенных пробелом), от которого возвращенный загрузчик class загрузит классы из, или null
MalformedURLException
- если codebase
не -null
и содержит недопустимый URL, или если codebase
null
и специфичный для провайдера URL, используемый, чтобы идентифицировать загрузчик class, недопустимSecurityException
- если есть менеджер безопасности и вызов checkPermission
сбои метода, или если у вызывающей стороны нет разрешения, чтобы соединить со всеми URL в кодовой базе путь URLpublic abstract String getClassAnnotation(Class<?> cl)
RMIClassLoader.getClassAnnotation(Class)
. Возвращает строку аннотации (представляющий расположение для определения class), который RMI будет использовать, чтобы аннотировать дескриптор class, упорядочивая объекты данного class.cl
- class, чтобы получить аннотацию дляnull
NullPointerException
- если cl
null
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92