Spec-Zone.ru › OpenJDK 8

Класс SecureClassLoader

  • java.lang.Object
    • java.lang.ClassLoader
      • java.security.SecureClassLoader
Прямые известные подклассы:
URLClassLoader

public class SecureClassLoader
extends ClassLoader

Этот класс расширяет ClassLoader, добавляя дополнительную поддержку определения классов с связанным кодовым источником и разрешениями, которые по умолчанию извлекаются системной политикой.

Конструкторы

Модификатор Конструктор и описание
protected SecureClassLoader()

Создаёт новый SecureClassLoader, используя родительский класс-загрузчик по умолчанию для делегирования.

protected SecureClassLoader(ClassLoader parent)

Создаёт новый SecureClassLoader, используя указанный родительский класс-загрузчик для делегирования.

Методы

Модификатор и тип Метод и описание
protected Class<?> defineClass(String name, byte[] b, int off, int len, CodeSource cs)

Преобразует массив байтов в экземпляр класса Class с необязательным CodeSource.

protected Class<?> defineClass(String name, ByteBuffer b, CodeSource cs)

Преобразует ByteBuffer в экземпляр класса Class, с необязательным CodeSource.

protected PermissionCollection getPermissions(CodeSource codesource)

Возвращает разрешения для заданного объекта CodeSource.

Методы, унаследованные от класса java.lang.ClassLoader

clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

SecureClassLoader

protected SecureClassLoader(ClassLoader parent)

Создаёт новый SecureClassLoader, используя указанный родительский класс-загрузчик для делегирования.

Если существует менеджер безопасности, этот метод сначала вызывает метод менеджера безопасности checkCreateClassLoader для обеспечения разрешения на создание загрузчика классов.

Параметры:
parent - родительский ClassLoader
Исключения:
SecurityException - если менеджер безопасности существует и его метод checkCreateClassLoader не разрешает создание загрузчика классов.
См. также:
SecurityManager.checkCreateClassLoader()

SecureClassLoader

protected SecureClassLoader()

Создаёт новый SecureClassLoader, используя родительский класс-загрузчик по умолчанию для делегирования.

Если существует менеджер безопасности, этот метод сначала вызывает метод менеджера безопасности checkCreateClassLoader для обеспечения разрешения на создание загрузчика классов.

Исключения:
SecurityException - если менеджер безопасности существует и его метод checkCreateClassLoader не разрешает создание загрузчика классов.
См. также:
SecurityManager.checkCreateClassLoader()

Методы

defineClass

protected final Class<?> defineClass(String name,
                                     byte[] b,
                                     int off,
                                     int len,
                                     CodeSource cs)

Преобразует массив байтов в экземпляр класса Class с необязательным CodeSource. Перед использованием класса он должен быть разрешен.

Если предоставлен ненулевой CodeSource, создаётся ProtectionDomain и связывается с определяемым классом.

Параметры:
name - ожидаемое имя класса, или null если неизвестно, используя '.' а не '/' в качестве разделителя и без заключительного ".class".
b - байты, составляющие данные класса. Байты в позициях off по off+len-1 должны иметь формат допустимого файла класса, как определено в Спецификации Java™ Virtual Machine.
off - начальный смещение в b данных класса
len - длина данных класса
cs - связанный CodeSource, или null если отсутствует
Возвращает:
объект Class созданный из данных и необязательного CodeSource.
Исключения:
ClassFormatError - если данные не содержали допустимый класс
IndexOutOfBoundsException - если off или len отрицательны, или если off+len больше b.length.
SecurityException - если попытка добавления этого класса в пакет, содержащий классы, подписанные другим набором сертификатов, чем этот класс, или если имя класса начинается с "java.".

defineClass

protected final Class<?> defineClass(String name,
                                     ByteBuffer b,
                                     CodeSource cs)

Преобразует ByteBuffer в экземпляр класса Class, с необязательным CodeSource. Перед использованием класса он должен быть разрешен.

Если предоставлен ненулевой CodeSource, создаётся ProtectionDomain и связывается с определяемым классом.

Параметры:
name - ожидаемое имя класса, или null если неизвестно, используя '.' а не '/' в качестве разделителя и без заключительного ".class".
b - байты, составляющие данные класса. Байты в позициях b.position() по b.position() + b.limit() -1 должны иметь формат допустимого файла класса, как определено в Спецификации Java™ Virtual Machine.
cs - связанный CodeSource, или null если отсутствует
Возвращает:
объект Class созданный из данных и необязательного CodeSource.
Исключения:
ClassFormatError - если данные не содержали допустимый класс
SecurityException - если попытка добавления этого класса в пакет, содержащий классы, подписанные другим набором сертификатов, чем этот класс, или если имя класса начинается с "java.".
Since:
1.5

getPermissions

protected PermissionCollection getPermissions(CodeSource codesource)

Возвращает разрешения для заданного объекта CodeSource.

Этот метод вызывается методом defineClass, который принимает CodeSource в качестве аргумента при построении ProtectionDomain для определяемого класса.

Параметры:
codesource - codesource.
Возвращает:
разрешения, предоставленные codesource.

© 1993, 2020, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API