ScriptEngineManager
ScriptEngineManager (스크립트 엔진 매니저)
ScriptEngineManager는 ScriptEngine 클래스의 발견과 인스턴스 생성 메커니즘을 구현하면서, 매니저가 만든 모든 엔진이 공유하는 상태를 담는 key/value 쌍의 컬렉션도 함께 관리하는 클래스입니다.
본문
이 클래스는 ServiceLoader 클래스에 설명된 서비스 제공자 메커니즘을 사용해 모든 ScriptEngineFactory 구현을 열거합니다. 매니저가 관리하는 key/value 쌍의 Bindings는 "전역 범위(Global Scope)"라고 불리는데, 이 매니저가 만든 모든 ScriptEngine 인스턴스에서 사용할 수 있고 그 값들도 모든 스크립트에 노출됩니다.
getEngineByName, getEngineByExtension, getEngineByMimeType 메서드로 이름·파일 확장자·MIME 타입 기준으로 엔진을 찾아낼 수 있고, getEngineFactories로 모든 팩토리 목록을 얻을 수 있습니다. registerEngineName 등으로 엔진 이름과 타입을 직접 등록할 수도 있어요.
public ScriptEngineManager()
public ScriptEngineManager(ClassLoader loader)
public void setBindings(Bindings bindings)
public Bindings getBindings()
public void put(String key, Object value)
public Object get(String key)
public ScriptEngine getEngineByName(String shortName)
public ScriptEngine getEngineByExtension(String extension)
public ScriptEngine getEngineByMimeType(String mimeType)
public List<ScriptEngineFactory> getEngineFactories()
public void registerEngineName(String name, ScriptEngineFactory factory)
public void registerEngineMimeType(String type, ScriptEngineFactory factory)
public void registerEngineExtension(String extension, ScriptEngineFactory factory)
ClassLoader를 받는 생성자를 쓰면 특정 클래스로더 환경에서만 엔진을 찾도록 제한할 수 있어요.