Spec-Zone .ru
спецификации, руководства, описания, API
|
public class URLClassLoader extends SecureClassLoader implements Closeable
AccessControlContext потока, который создал экземпляр URLClassLoader, будет использоваться, впоследствии загружая классы и ресурсы.
Классы, которые загружаются, значением по умолчанию, предоставленным разрешение только, чтобы получить доступ к URL, определенным, когда URLClassLoader создавался.
Конструктор и Описание |
---|
URLClassLoader(URL[] urls)
Создает новый URLClassLoader для указанных URL, используя родителя делегации по умолчанию
ClassLoader . |
URLClassLoader(URL[] urls, ClassLoader parent)
Создает новый URLClassLoader для данных URL.
|
URLClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
Создает новый URLClassLoader для указанных URL, загрузчика родительского класса, и 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)
Находит и загружает класс указанным именем от пути поиска 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 и загрузчика родительского класса по умолчанию.
|
static URLClassLoader |
newInstance(URL[] urls, ClassLoader parent)
Создает новый экземпляр URLClassLoader для указанных URL и загрузчика родительского класса.
|
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
метод, чтобы гарантировать создание загрузчика класса позволяется.
urls
- URL, из которых можно загрузить классы и ресурсыparent
- загрузчик родительского класса для делегацииSecurityException
- если менеджер безопасности существует и checkCreateClassLoader
метод не позволяет создание загрузчика класса.SecurityManager.checkCreateClassLoader()
public URLClassLoader(URL[] urls)
ClassLoader
. URL будут искаться в порядке, определенном для классов и ресурсов после первого поиска в загрузчике родительского класса. Любой URL, который заканчивается '/', как предполагается, ссылается на каталог. Иначе, URL, как предполагается, обращается к файлу JAR, который будет загружен и открыт как необходимый. Если есть менеджер безопасности, этот метод первые вызовы менеджер безопасности checkCreateClassLoader
метод, чтобы гарантировать создание загрузчика класса позволяется.
urls
- URL, из которых можно загрузить классы и ресурсыSecurityException
- если менеджер безопасности существует и checkCreateClassLoader
метод не позволяет создание загрузчика класса.SecurityManager.checkCreateClassLoader()
public URLClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
Если есть менеджер безопасности, этот метод первые вызовы менеджер безопасности checkCreateClassLoader
метод, чтобы гарантировать создание загрузчика класса позволяется.
urls
- URL, из которых можно загрузить классы и ресурсыparent
- загрузчик родительского класса для делегацииfactory
- URLStreamHandlerFactory, чтобы использовать, создавая URLSecurityException
- если менеджер безопасности существует и checkCreateClassLoader
метод не позволяет создание загрузчика класса.SecurityManager.checkCreateClassLoader()
public InputStream getResourceAsStream(String name)
Поисковый порядок описывается в документации для ClassLoader.getResource(String)
.
getResourceAsStream
в классе ClassLoader
name
- Имя ресурсаpublic void close() throws IOException
В случае фляги: и файл: URL, это также закрывает любые файлы, которые были открыты этим. Если другой поток загружает класс когда close
метод вызывается, тогда результат той загрузки неопределен.
Метод предпринимает попытку максимальных усилий закрыть все открытые файлы, ловя IOException
s внутренне. Исключения непроверенные и ошибки не пойманы. Вызов близко на уже закрытом загрузчике не имеет никакого эффекта.
close
в интерфейсе Closeable
close
в интерфейсе AutoCloseable
IOException
- если закрытие любого файла, открытого этим загрузчиком класса, привело к 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
в классе ClassLoader
name
- имя классаClassNotFoundException
- если класс не мог бы быть найден, или если загрузчик закрывается.protected Package definePackage(String name, Manifest man, URL url) throws IllegalArgumentException
name
- имя пакетаman
- Декларация, содержащая версию пакета и изолирующая информациюurl
- исходный url кода для пакета, или нуль, если ни одинIllegalArgumentException
- если имя пакета копирует существующий пакет или в этом загрузчике класса или в одном из его предковpublic URL findResource(String name)
findResource
в классе ClassLoader
name
- имя ресурсаURL
для ресурса, или null
если ресурс не мог бы быть найден, или если загрузчик закрывается.public Enumeration<URL> findResources(String name) throws IOException
findResources
в классе ClassLoader
name
- имя ресурсаEnumeration
из URL
s, Если загрузчик закрывается, Перечисление будет пусто.IOException
- если исключение ввода-вывода происходитprotected PermissionCollection getPermissions(CodeSource codesource)
Если протокол этого URL является "флягой", то предоставленное разрешение основано на разрешении, которое требуется URL файла Фляги.
Если протокол является "файлом" и есть компонент полномочий, то разрешение, чтобы соединиться с и принять соединения от тех полномочий можно предоставить. Если протокол является "файлом", и путь определяет файл, то разрешение, чтобы считать тот файл предоставляют. Если протокол является "файлом", и путь является каталогом, разрешение предоставляют считать все файлы и (рекурсивно) все файлы и подкаталоги, содержавшиеся в том каталоге.
Если протокол не является "файлом", то разрешение, чтобы соединиться с и принять соединения от узла URL предоставляют.
getPermissions
в классе SecureClassLoader
codesource
- codesourcepublic static URLClassLoader newInstance(URL[] urls, ClassLoader parent)
loadClass
метод URLClassLoader, возвращенного этим методом, вызовет SecurityManager.checkPackageAccess
метод прежде, чем загрузить класс.urls
- URL, чтобы искать классы и ресурсыparent
- загрузчик родительского класса для делегацииpublic static URLClassLoader newInstance(URL[] urls)
loadClass
метод URLClassLoader, возвращенного этим методом, вызовет SecurityManager.checkPackageAccess
прежде, чем загрузить класс.urls
- URL, чтобы искать классы и ресурсы
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.