public class OSGiScriptEngineManager extends ScriptEngineManager
OSGiScriptEngineFactory
. As Engines are not wrapped,
calls like
ScriptEngineManager osgiManager=new OSGiScriptEngineManager(context);
ScriptEngine engine=osgiManager.getEngineByName("ruby");
ScriptEngineFactory factory=engine.getFactory() //this does not return the OSGiFactory wrapper
factory.getScriptEngine(); //this might fail, as it does not use OSGiScriptEngineFactory wrapper
might result in unexpected errors. Future versions may wrap the ScriptEngine with a OSGiScriptEngine to solve this
issue, but for the moment it is not needed.
Constructor and Description |
---|
OSGiScriptEngineManager(org.osgi.framework.BundleContext context) |
Modifier and Type | Method and Description |
---|---|
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 |
reloadManagers()
This method is the only one that is visible and not part of the ScriptEngineManager class.
|
void |
setBindings(Bindings bindings)
Follows the same behavior of @link javax.script.ScriptEngineManager#setBindings(Bindings)
This means that the same bindings are applied to all the underlying managers.
|
public OSGiScriptEngineManager(org.osgi.framework.BundleContext context)
public void reloadManagers()
ScriptEngineManager manager=new OSGiScriptEngineManager(context);
(...)//do stuff
osgiManager=(OSGiScriptEngineManager)manager;//cast to ease reading
osgiManager.reloadManagers();
manager.setBindings(new OSGiBindings());//or you can use your own bindings implementation
public Object get(String key)
get
in class ScriptEngineManager
public Bindings getBindings()
getBindings
in class ScriptEngineManager
public ScriptEngine getEngineByExtension(String extension)
getEngineByExtension
in class ScriptEngineManager
public ScriptEngine getEngineByMimeType(String mimeType)
getEngineByMimeType
in class ScriptEngineManager
public ScriptEngine getEngineByName(String shortName)
getEngineByName
in class ScriptEngineManager
public List<ScriptEngineFactory> getEngineFactories()
getEngineFactories
in class ScriptEngineManager
public void put(String key, Object value)
put
in class ScriptEngineManager
public void registerEngineExtension(String extension, ScriptEngineFactory factory)
registerEngineExtension
in class ScriptEngineManager
public void registerEngineMimeType(String type, ScriptEngineFactory factory)
registerEngineMimeType
in class ScriptEngineManager
public void registerEngineName(String name, ScriptEngineFactory factory)
registerEngineName
in class ScriptEngineManager
public void setBindings(Bindings bindings)
setBindings
in class ScriptEngineManager
bindings
- Copyright © 2021. All rights reserved.