Класс 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<ScriptEngineFactory> |
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- если ключ равен 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, 2021, 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/17/docs/api/java.scripting/javax/script/ScriptEngineManager.html