Spec-Zone .ru
спецификации, руководства, описания, API
|
public class URLClassLoader extends SecureClassLoader implements Closeable
AccessControlContext потока, который создал экземпляр URLClassLoader, будет использоваться, впоследствии загружая классы и ресурсы.
Классам, которые загружаются, по умолчанию предоставляют разрешение только, чтобы получить доступ к URL, определенным, когда URLClassLoader создавался.
Где файл JAR содержит Profile
атрибут тогда его значение является именем Java профиль SE, которого минимально требует библиотека. Если это время выполнения не поддерживает профиль тогда, это вызывает UnsupportedProfileException
быть брошенным в некоторое нетребуемое время.
Конструктор и Описание |
---|
URLClassLoader(URL[] urls)
Создает новый URLClassLoader для указанных URL, используя родителя делегации значения по умолчанию
ClassLoader . |
URLClassLoader(URL[] urls, ClassLoader parent)
Создает новый URLClassLoader для данных URL.
|
URLClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
Создает новый URLClassLoader для указанных URL, родительского загрузчика class, и URLStreamHandlerFactory.
|
Модификатор и Тип | Метод и Описание |
---|---|
protected void |
addURL(URL url)
Добавляет указанный URL к списку URL, чтобы искать классы и ресурсы.
|
void |
close()
Завершения этот URLClassLoader, так, чтобы это больше не могло использоваться, чтобы загрузить новые классы или ресурсы, которые определяются этим загрузчиком.
|
protected Package |
definePackage(String name, Manifest man, URL url)
Определяет новый пакет по имени в этом ClassLoder.
|
protected Class<?> |
findClass(String name)
Находит и загружает class указанным именем от пути поиска URL.
|
URL |
findResource(String name)
Находит ресурс с указанным именем на пути поиска URL.
|
Enumeration<URL> |
findResources(String name)
Возвращает Перечисление URL, представляющих все ресурсы на пути поиска URL, имеющем указанное имя.
|
protected PermissionCollection |
getPermissions(CodeSource codesource)
Возвращает полномочия для данного объекта codesource.
|
InputStream |
getResourceAsStream(String name)
Возвращает входной поток для того, чтобы считать указанный ресурс.
|
URL[] |
getURLs()
Возвращает путь поиска URL для того, чтобы загрузить классы и ресурсы.
|
static URLClassLoader |
newInstance(URL[] urls)
Создает новый экземпляр URLClassLoader для указанных URL, и значение по умолчанию порождают загрузчик class.
|
static URLClassLoader |
newInstance(URL[] urls, ClassLoader parent)
Создает новый экземпляр URLClassLoader для указанных URL и родительского загрузчика class.
|
defineClass, defineClass
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
public URLClassLoader(URL[] urls, ClassLoader parent)
Если есть менеджер безопасности, этот метод первые вызовы менеджер безопасности checkCreateClassLoader
метод, чтобы гарантировать создание загрузчика class позволяется.
urls
- URL, из которых можно загрузить классы и ресурсыparent
- родительский загрузчик class для делегацииSecurityException
- если менеджер безопасности существует и checkCreateClassLoader
метод не позволяет создание загрузчика class.SecurityManager.checkCreateClassLoader()
public URLClassLoader(URL[] urls)
ClassLoader
. URL будут искаться в порядке, определенном для классов и ресурсов после первого поиска в родительском загрузчике class. Любой URL, который заканчивается '/', как предполагается, ссылается на каталог. Иначе, URL, как предполагается, обращается к файлу JAR, который будет загружен и открыт как необходимый. Если есть менеджер безопасности, этот метод первые вызовы менеджер безопасности checkCreateClassLoader
метод, чтобы гарантировать создание загрузчика class позволяется.
urls
- URL, из которых можно загрузить классы и ресурсыSecurityException
- если менеджер безопасности существует и checkCreateClassLoader
метод не позволяет создание загрузчика class.SecurityManager.checkCreateClassLoader()
public URLClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
Если есть менеджер безопасности, этот метод первые вызовы менеджер безопасности checkCreateClassLoader
метод, чтобы гарантировать создание загрузчика class позволяется.
urls
- URL, из которых можно загрузить классы и ресурсыparent
- родительский загрузчик class для делегацииfactory
- URLStreamHandlerFactory, чтобы использовать, создавая URLSecurityException
- если менеджер безопасности существует и checkCreateClassLoader
метод не позволяет создание загрузчика class.SecurityManager.checkCreateClassLoader()
public InputStream getResourceAsStream(String name)
Порядок поиска описывается в документации для ClassLoader.getResource(String)
.
getResourceAsStream
в class ClassLoader
name
- Имя ресурсаpublic void close() throws IOException
В случае фляги: и файл: URL, это также закрывает любые файлы, которые были открыты этим. Если другой поток загружает class когда close
метод вызывается, тогда результат той загрузки неопределен.
Метод предпринимает попытку максимальных усилий закрыть все открытые файлы, ловя IOException
s внутренне. Исключения непроверенные и ошибки не пойманы. Вызов близко на уже закрытом загрузчике не имеет никакого эффекта.
close
в интерфейсе Closeable
close
в интерфейсе AutoCloseable
IOException
- если закрытие любого файла, открытого этим загрузчиком class, привело к IOException. Любые такие исключения пойманы внутренне. Если только один пойман, то это повторно бросается. Если больше чем одно исключение поймано, то вторые и после исключений добавляются как заблокированные исключительные ситуации первого пойманного, который тогда повторно бросается.SecurityException
- если менеджер безопасности устанавливается, и он отрицает RuntimePermission
("closeClassLoader")protected void addURL(URL url)
Если определенный URL null
или уже находится в списке URL, или если этот загрузчик закрывается, то вызов этого метода не имеет никакого эффекта.
url
- URL, который будет добавлен к пути поиска URLpublic URL[] getURLs()
protected Class<?> findClass(String name) throws ClassNotFoundException
findClass
в class ClassLoader
name
- имя classClassNotFoundException
- если class не мог бы быть найден, или если загрузчик закрывается.protected Package definePackage(String name, Manifest man, URL url) throws IllegalArgumentException
name
- имя пакетаman
- Декларация, содержащая версию пакета и изолирующая информациюurl
- исходный url кода для пакета, или нуль, если ни одинIllegalArgumentException
- если имя пакета копирует существующий пакет или в этом загрузчике class или в одном из его предковpublic URL findResource(String name)
findResource
в class ClassLoader
name
- имя ресурсаURL
для ресурса, или null
если ресурс не мог бы быть найден, или если загрузчик закрывается.public Enumeration<URL> findResources(String name) throws IOException
findResources
в class ClassLoader
name
- имя ресурсаEnumeration
из URL
s, Если загрузчик закрывается, Перечисление будет пусто.IOException
- если исключение ввода-вывода происходитprotected PermissionCollection getPermissions(CodeSource codesource)
Если протокол этого URL является "флягой", то предоставленное разрешение основано на разрешении, которое требуется URL файла Фляги.
Если протокол является "файлом" и есть компонент полномочий, то разрешение, чтобы соединиться с и принять соединения от тех полномочий можно предоставить. Если протокол является "файлом", и путь определяет файл, то разрешение, чтобы считать тот файл предоставляют. Если протокол является "файлом", и путь является каталогом, разрешение предоставляют считать все файлы и (рекурсивно) все файлы и подкаталоги, содержавшиеся в том каталоге.
Если протокол не является "файлом", то разрешение, чтобы соединиться с и принять соединения от узла URL предоставляют.
getPermissions
в class SecureClassLoader
codesource
- codesourcepublic static URLClassLoader newInstance(URL[] urls, ClassLoader parent)
loadClass
метод URLClassLoader, возвращенного этим методом, вызовет SecurityManager.checkPackageAccess
метод прежде, чем загрузить class.urls
- URL, чтобы искать классы и ресурсыparent
- родительский загрузчик class для делегацииpublic static URLClassLoader newInstance(URL[] urls)
loadClass
метод URLClassLoader, возвращенного этим методом, вызовет SecurityManager.checkPackageAccess
прежде, чем загрузить class.urls
- URL, чтобы искать классы и ресурсы
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92