Класс ScriptEngineManager
java.lang.Object
javax.script.ScriptEngineManager
public class ScriptEngineManager extends Object
Класс
Класс
ScriptEngineManager реализует механизм обнаружения и создания ScriptEngine классов, а также поддерживает коллекцию пар «ключ-значение», хранящих состояние, общее для всех движков, созданных менеджером. Данный класс использует механизм поставщика сервисов, описанный в классе ServiceLoader, для перечисления всех реализаций ScriptEngineFactory. Класс
ScriptEngineManager предоставляет методы для возврата списка всех этих фабрик, а также служебные методы для поиска фабрик по имени языка, расширению файла и типу MIME. Коллекция пар «ключ-значение», называемая «Глобальной областью видимости», поддерживаемая менеджером, доступна для всех экземпляров ScriptEngine , созданных ScriptEngineManager. Значения в Bindings обычно доступны во всех скриптах.
- Since:
- 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- Класс-загрузчик, используемый для обнаружения фабрик скриптовых движков.
Подробное описание методов
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- если ключ равен null. -
IllegalArgumentException- если ключ пустая строка.
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, 2023, 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/21/docs/api/java.scripting/javax/script/ScriptEngineManager.html