Spec-Zone.ru › OpenJDK 27

Класс ScriptEngineManager

java.lang.Object
javax.script.ScriptEngineManager
public class ScriptEngineManager extends Object
ScriptEngineManager реализует механизм обнаружения и создания экземпляров классов ScriptEngine, а также поддерживает коллекцию пар «ключ/значение», в которой хранится состояние, общее для всех модулей, созданных диспетчером. Этот класс использует механизм поставщиков служб, описанный в классе ServiceLoader, для перечисления всех реализаций ScriptEngineFactory.

ScriptEngineManager предоставляет метод для возврата списка всех этих фабрик, а также служебные методы для поиска фабрик по имени языка, расширению файла и типу MIME.

Bindings пар «ключ/значение», называемая «глобальной областью» и поддерживаемая диспетчером, доступна всем экземплярам ScriptEngine, созданным ScriptEngineManager. Значения в Bindings обычно доступны во всех сценариях.

Начиная с:
1.6

Краткое описание конструкторов

Конструктор Описание
ScriptEngineManager()
Эффект вызова этого конструктора такой же, как при вызове ScriptEngineManager(Thread.currentThread().getContextClassLoader()).
ScriptEngineManager(ClassLoader loader)
Этот конструктор загружает реализации ScriptEngineFactory, видимые указанному ClassLoader, используя механизм поставщиков служб.

Если загрузчик равен null, загружаются фабрики скриптовых движков, входящие в состав платформы.

Краткое описание методов

Модификатор и тип Метод Описание
Object get(String key)
Возвращает значение указанного ключа в глобальной области
Bindings getBindings()
getBindings возвращает значение поля globalScope.
ScriptEngine getEngineByExtension(String extension)
Ищет и создает ScriptEngine для заданного расширения.
ScriptEngine getEngineByMimeType(String mimeType)
Ищет и создает ScriptEngine для заданного типа MIME.
ScriptEngine getEngineByName(String shortName)
Ищет и создает ScriptEngine для заданного имени.
List<ScriptEngineFactory> getEngineFactories()
Возвращает список, элементы которого являются экземплярами всех классов ScriptEngineFactory, найденных механизмом обнаружения.
void put(String key, Object value)
Задает указанную пару «ключ/значение» в глобальной области.
void registerEngineExtension(String extension, ScriptEngineFactory factory)
Регистрирует ScriptEngineFactory для обработки расширения.
void registerEngineMimeType(String type, ScriptEngineFactory factory)
Регистрирует ScriptEngineFactory для обработки типа MIME.
void registerEngineName(String name, ScriptEngineFactory factory)
Регистрирует ScriptEngineFactory для обработки имени языка.
void setBindings(Bindings bindings)
setBindings сохраняет указанный Bindings в поле globalScope.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо истечения заданного промежутка реального времени.

Подробное описание конструкторов

ScriptEngineManager

public ScriptEngineManager()
Эффект вызова этого конструктора такой же, как при вызове ScriptEngineManager(Thread.currentThread().getContextClassLoader()).
См. также:
  • Thread.getContextClassLoader()

ScriptEngineManager

public ScriptEngineManager(ClassLoader loader)
Этот конструктор загружает реализации ScriptEngineFactory, видимые указанному ClassLoader, используя механизм поставщиков служб.

Если загрузчик равен null, загружаются фабрики скриптовых движков, входящие в состав платформы.
Параметры:
loader - ClassLoader, используемый для обнаружения фабрик скриптовых движков.

Подробное описание методов

setBindings

public void setBindings(Bindings bindings)
setBindings сохраняет указанный Bindings в поле globalScope. ScriptEngineManager задает этот Bindings в качестве глобальных привязок для объектов ScriptEngine, созданных им.
Параметры:
bindings - Указанный Bindings
Вызывает исключение:
IllegalArgumentException - если bindings равен null.

getBindings

public Bindings getBindings()
getBindings возвращает значение поля globalScope. ScriptEngineManager задает этот Bindings в качестве глобальных привязок для объектов ScriptEngine, созданных им.
Возвращает:
Поле globalScope.

put

public void put(String key, Object value)
Задает указанную пару «ключ/значение» в глобальной области.
Параметры:
key - Ключ, который нужно задать
value - Значение, которое нужно задать.
Вызывает исключение:
NullPointerException - если key равен null.
IllegalArgumentException - если key — пустая строка.

get

public Object get(String key)
Возвращает значение указанного ключа в глобальной области
Параметры:
key - Ключ, значение которого нужно вернуть.
Возвращает:
Значение указанного ключа.

getEngineByName

public ScriptEngine getEngineByName(String shortName)
Ищет и создает ScriptEngine для заданного имени. Сначала алгоритм ищет ScriptEngineFactory, зарегистрированную в качестве обработчика указанного имени с помощью метода registerEngineName.

Если такая фабрика не найдена, выполняется поиск среди экземпляров ScriptEngineFactory, сохраненных конструктором. Ищется экземпляр с указанным именем. Если ScriptEngineFactory найдена любым из этих способов, она используется для создания экземпляра ScriptEngine.
Параметры:
shortName - Краткое имя реализации ScriptEngine, возвращаемое методом getNames ее ScriptEngineFactory.
Возвращает:
ScriptEngine, созданный найденной фабрикой. Возвращает null, если фабрика не найдена. ScriptEngineManager задает собственные globalScope Bindings в качестве GLOBAL_SCOPE Bindings для вновь созданного ScriptEngine.
Вызывает исключение:
NullPointerException - если shortName равен null.

getEngineByExtension

public ScriptEngine getEngineByExtension(String extension)
Ищет и создает ScriptEngine для заданного расширения. Используется алгоритм метода getEngineByName, но поиск начинается с поиска ScriptEngineFactory, зарегистрированной для обработки заданного расширения с помощью registerEngineExtension.
Параметры:
extension - Заданное расширение
Возвращает:
Движок для обработки сценариев с этим расширением. Возвращает null, если движок не найден.
Вызывает исключение:
NullPointerException - если extension равен null.

getEngineByMimeType

public ScriptEngine getEngineByMimeType(String mimeType)
Ищет и создает ScriptEngine для заданного типа MIME. Используется алгоритм метода getEngineByName, но поиск начинается с поиска ScriptEngineFactory, зарегистрированной для обработки заданного типа MIME с помощью registerEngineMimeType.
Параметры:
mimeType - Заданный тип MIME
Возвращает:
Движок для обработки сценариев с этим типом MIME. Возвращает null, если движок не найден.
Вызывает исключение:
NullPointerException - если mimeType равен null.

getEngineFactories

public List<ScriptEngineFactory> getEngineFactories()
Возвращает список, элементы которого являются экземплярами всех классов ScriptEngineFactory, найденных механизмом обнаружения.
Возвращает:
Список всех обнаруженных ScriptEngineFactory.

registerEngineName

public void registerEngineName(String name, ScriptEngineFactory factory)
Регистрирует ScriptEngineFactory для обработки имени языка. Переопределяет все аналогичные связи, найденные с помощью механизма обнаружения.
Параметры:
name - Имя, связываемое с ScriptEngineFactory.
factory - Класс, связываемый с указанным именем.
Вызывает исключение:
NullPointerException - если любой из параметров равен null.

registerEngineMimeType

public void registerEngineMimeType(String type, ScriptEngineFactory factory)
Регистрирует ScriptEngineFactory для обработки типа MIME. Переопределяет все аналогичные связи, найденные с помощью механизма обнаружения.
Параметры:
type - Тип MIME, связываемый с ScriptEngineFactory.
factory - Класс, связываемый с указанным типом MIME.
Вызывает исключение:
NullPointerException - если любой из параметров равен null.

registerEngineExtension

public void registerEngineExtension(String extension, ScriptEngineFactory factory)
Регистрирует ScriptEngineFactory для обработки расширения. Переопределяет все аналогичные связи, найденные с помощью механизма обнаружения.
Параметры:
extension - Тип расширения, связываемый с ScriptEngineFactory.
factory - Класс, связываемый с указанным расширением.
Вызывает исключение:
NullPointerException - если любой из параметров равен null.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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