|
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, defineClassclearAssertionStatus, 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, setSignerspublic 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 в классе ClassLoadername - Имя ресурсаpublic void close()
throws IOException
В случае фляги: и файл: URL, это также закрывает любые файлы, которые были открыты этим. Если другой поток загружает класс когда close метод вызывается, тогда результат той загрузки неопределен.
Метод предпринимает попытку максимальных усилий закрыть все открытые файлы, ловя IOExceptions внутренне. Исключения непроверенные и ошибки не пойманы. Вызов близко на уже закрытом загрузчике не имеет никакого эффекта.
close в интерфейсе Closeableclose в интерфейсе AutoCloseableIOException - если закрытие любого файла, открытого этим загрузчиком класса, привело к 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 в классе ClassLoadername - имя классаClassNotFoundException - если класс не мог бы быть найден, или если загрузчик закрывается.protected Package definePackage(String name, Manifest man, URL url) throws IllegalArgumentException
name - имя пакетаman - Декларация, содержащая версию пакета и изолирующая информациюurl - исходный url кода для пакета, или нуль, если ни одинIllegalArgumentException - если имя пакета копирует существующий пакет или в этом загрузчике класса или в одном из его предковpublic URL findResource(String name)
findResource в классе ClassLoadername - имя ресурсаURL для ресурса, или null если ресурс не мог бы быть найден, или если загрузчик закрывается.public Enumeration<URL> findResources(String name) throws IOException
findResources в классе ClassLoadername - имя ресурсаEnumeration из URLs, Если загрузчик закрывается, Перечисление будет пусто.IOException - если исключение ввода-вывода происходитprotected PermissionCollection getPermissions(CodeSource codesource)
Если протокол этого URL является "флягой", то предоставленное разрешение основано на разрешении, которое требуется URL файла Фляги.
Если протокол является "файлом" и есть компонент полномочий, то разрешение, чтобы соединиться с и принять соединения от тех полномочий можно предоставить. Если протокол является "файлом", и путь определяет файл, то разрешение, чтобы считать тот файл предоставляют. Если протокол является "файлом", и путь является каталогом, разрешение предоставляют считать все файлы и (рекурсивно) все файлы и подкаталоги, содержавшиеся в том каталоге.
Если протокол не является "файлом", то разрешение, чтобы соединиться с и принять соединения от узла URL предоставляют.
getPermissions в классе SecureClassLoadercodesource - 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 и/или его филиалы. Все права защищены.