Класс 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 |
Этот конструктор загружает реализации ScriptEngineFactory, доступные указанному ClassLoader, используя механизм поставщиков служб.Если loader равен null, загружаются фабрики скриптовых движков, входящие в состав платформы. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
get |
Возвращает значение для указанного ключа в глобальной области |
Bindings |
getBindings() |
getBindings возвращает значение поля globalScope. |
ScriptEngine |
getEngineByExtension |
Ищет и создаёт ScriptEngine для указанного расширения. |
ScriptEngine |
getEngineByMimeType |
Ищет и создаёт ScriptEngine для указанного типа MIME. |
ScriptEngine |
getEngineByName |
Ищет и создаёт ScriptEngine для указанного имени. |
List |
getEngineFactories() |
Возвращает список, элементы которого являются экземплярами всех классов ScriptEngineFactory, обнаруженных механизмом обнаружения. |
void |
put |
Устанавливает указанную пару «ключ/значение» в глобальной области. |
void |
registerEngineExtension |
Регистрирует ScriptEngineFactory для обработки расширения. |
void |
registerEngineMimeType |
Регистрирует ScriptEngineFactory для обработки типа MIME. |
void |
registerEngineName |
Регистрирует ScriptEngineFactory для обработки имени языка. |
void |
setBindings |
setBindings сохраняет указанное Bindings в поле globalScope. |
Подробное описание конструкторов
ScriptEngineManager
public ScriptEngineManager()
Вызов этого конструктора эквивалентен вызову
ScriptEngineManager(Thread.currentThread().getContextClassLoader()).- См. также:
ScriptEngineManager
public ScriptEngineManager(ClassLoader loader)
Этот конструктор загружает реализации
Если loader равен
ScriptEngineFactory, доступные указанному ClassLoader, используя механизм поставщиков служб.Если loader равен
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задаёт собственныйglobalScopeBindingsв качествеGLOBAL_SCOPEBindingsдля вновь созданного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.
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.scripting/javax/script/ScriptEngineManager.html