Класс 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(ClassLoader loader) | Этот конструктор загружает реализации |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object | get(String key) | Получает значение для указанного ключа в Глобальной области |
Bindings | getBindings() |
|
ScriptEngine | getEngineByExtension(String extension) | Ищет и создаёт |
ScriptEngine | getEngineByMimeType(String mimeType) | Ищет и создаёт |
ScriptEngine | getEngineByName(String shortName) | Ищет и создаёт |
List<ScriptEngineFactory> | getEngineFactories() | Возвращает список, элементы которого являются экземплярами всех классов |
void | put(String key,
Object value) | Устанавливает указанную пару ключ/значение в Глобальной области. |
void | registerEngineExtension(String extension,
ScriptEngineFactory factory) | Регистрирует |
void | registerEngineMimeType(String type,
ScriptEngineFactory factory) | Регистрирует |
void | registerEngineName(String name,
ScriptEngineFactory factory) | Регистрирует |
void | setBindings(Bindings bindings) |
|
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitКонструкторы
ScriptEngineManager
public ScriptEngineManager()
Вызов этого конструктора эквивалентен вызову ScriptEngineManager(Thread.currentThread().getContextClassLoader()).
- См. также:
Thread.getContextClassLoader()
ScriptEngineManager
public ScriptEngineManager(ClassLoader 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, 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.scripting/javax/script/ScriptEngineManager.html