public class DefaultGremlinScriptEngineManager extends Object implements GremlinScriptEngineManager
ScriptEngineManager implements a discovery, instantiation and configuration mechanism for
 GremlinScriptEngine classes and also maintains a collection of key/value pairs storing state shared by all
 engines created by it. This class uses the ServiceProvider mechanism to enumerate all the
 implementations of GremlinScriptEngineFactory. The ScriptEngineManager provides a method
 to return a list of all these factories as well as utility methods which look up factories on the basis of language
 name, file extension and mime type.
 
 The Bindings of key/value pairs, referred to as the "Global Scope" maintained by the manager is available
 to all instances of @code ScriptEngine} created by the GremlinScriptEngineManager. The values
 in the Bindings are generally exposed in all scripts.
 
 This class is based quite heavily on the workings of the ScriptEngineManager supplied in the
 javax.script packages, but adds some additional features that are specific to Gremlin and TinkerPop.
 Unfortunately, it's not easily possible to extend ScriptEngineManager directly as there certain behaviors
 don't appear to be be straightforward to implement and member variables are all private. It is important to note
 that this class is designed to provide support for "Gremlin-enabled" ScriptEngine instances (i.e. those
 that extend from GremlinScriptEngine) and is not meant to manage just any ScriptEngine instance
 that may be on the path.
 
 As this is a "Gremlin" ScriptEngine, certain common imports are automatically applied when a
 GremlinScriptEngine is instantiated via the GremlinScriptEngineFactory.. Initial imports from
 gremlin-core come from the CoreImports.| Constructor and Description | 
|---|
| DefaultGremlinScriptEngineManager()The effect of calling this constructor is the same as calling
  DefaultGremlinScriptEngineManager(Thread.currentThread().getContextClassLoader()). | 
| DefaultGremlinScriptEngineManager(ClassLoader loader)This constructor loads the implementations of  GremlinScriptEngineFactoryvisible to the givenClassLoaderusing theServiceLoadermechanism. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addPlugin(GremlinPlugin plugin)Add  GremlinPlugininstances to customize newly createdGremlinScriptEngineinstances. | 
| Object | get(String key)Gets the value for the specified key in the global scope. | 
| Bindings | getBindings()Gets the bindings of the  Bindingsin global scope. | 
| List<Customizer> | getCustomizers(String scriptEngineName)Get the list of  Customizerinstances filtered by thescriptEngineName. | 
| GremlinScriptEngine | getEngineByExtension(String extension)Look up and create a  GremlinScriptEnginefor a given extension. | 
| GremlinScriptEngine | getEngineByMimeType(String mimeType)Look up and create a  GremlinScriptEnginefor a given mime type. | 
| GremlinScriptEngine | getEngineByName(String shortName)Looks up and creates a  GremlinScriptEnginefor a given name. | 
| List<GremlinScriptEngineFactory> | getEngineFactories()Returns a list whose elements are instances of all the  GremlinScriptEngineFactoryclasses
 found by the discovery mechanism. | 
| void | put(String key,
   Object value)Sets the specified key/value pair in the global scope. | 
| void | registerEngineExtension(String extension,
                       GremlinScriptEngineFactory factory)Registers a  GremlinScriptEngineFactoryto handle an extension. | 
| void | registerEngineMimeType(String type,
                      GremlinScriptEngineFactory factory)Registers a  GremlinScriptEngineFactoryto handle a mime type. | 
| void | registerEngineName(String name,
                  GremlinScriptEngineFactory factory)Registers a  GremlinScriptEngineFactoryto handle a language name. | 
| void | setBindings(Bindings bindings)Stores the specified  Bindingsas a global for allGremlinScriptEngineobjects created by it. | 
public DefaultGremlinScriptEngineManager()
DefaultGremlinScriptEngineManager(Thread.currentThread().getContextClassLoader()).public DefaultGremlinScriptEngineManager(ClassLoader loader)
GremlinScriptEngineFactory visible to the given
 ClassLoader using the ServiceLoader mechanism. If loader is null, the script
 engine factories that are bundled with the platform and that are in the usual extension directories
 (installed extensions) are loaded.public List<Customizer> getCustomizers(String scriptEngineName)
GremlinScriptEngineManagerCustomizer instances filtered by the scriptEngineName.getCustomizers in interface GremlinScriptEngineManagerpublic void addPlugin(GremlinPlugin plugin)
GremlinScriptEngineManagerGremlinPlugin instances to customize newly created GremlinScriptEngine instances.addPlugin in interface GremlinScriptEngineManagerpublic void setBindings(Bindings bindings)
Bindings as a global for all GremlinScriptEngine objects created by it.
 If the bindings are to be updated by multiple threads it is recommended that a ConcurrentBindings
 instance is supplied.setBindings in interface GremlinScriptEngineManagerIllegalArgumentException - if bindings is null.public Bindings getBindings()
Bindings in global scope.getBindings in interface GremlinScriptEngineManagerpublic void put(String key, Object value)
put in interface GremlinScriptEngineManagerIllegalArgumentException - if key is null or empty.public Object get(String key)
get in interface GremlinScriptEngineManagerpublic GremlinScriptEngine getEngineByName(String shortName)
GremlinScriptEngine for a given name. The algorithm first searches for a
 GremlinScriptEngineFactory that has been registered as a handler for the specified name using the
 registerEngineExtension(String, GremlinScriptEngineFactory) method. If one is not found, it searches
 the set of GremlinScriptEngineFactory instances stored by the constructor for one with the specified
 name.  If a ScriptEngineFactory is found by either method, it is used to create instance of
 GremlinScriptEngine.getEngineByName in interface GremlinScriptEngineManagershortName - The short name of the GremlinScriptEngine implementation returned by the
 ScriptEngineFactory.getNames() method.GremlinScriptEngine created by the factory located in the search.  Returns null
 if no such factory was found.  The global scope of this manager is applied to the newly created
 GremlinScriptEngineNullPointerException - if shortName is null.public GremlinScriptEngine getEngineByExtension(String extension)
GremlinScriptEngine for a given extension.  The algorithm
 used by getEngineByName(String) is used except that the search starts by looking for a
 GremlinScriptEngineFactory registered to handle the given extension using
 registerEngineExtension(String, GremlinScriptEngineFactory).getEngineByExtension in interface GremlinScriptEngineManagernull if not found.NullPointerException - if extension is null.public GremlinScriptEngine getEngineByMimeType(String mimeType)
GremlinScriptEngine for a given mime type.  The algorithm used by
 getEngineByName(String) is used except that the search starts by looking for a
 GremlinScriptEngineFactory registered to handle the given mime type using
 registerEngineMimeType(String, GremlinScriptEngineFactory).getEngineByMimeType in interface GremlinScriptEngineManagermimeType - The given mime typenull if not found.NullPointerException - if mime-type is null.public List<GremlinScriptEngineFactory> getEngineFactories()
GremlinScriptEngineFactory classes
 found by the discovery mechanism.getEngineFactories in interface GremlinScriptEngineManagerGremlinScriptEngineFactory objects.public void registerEngineName(String name, GremlinScriptEngineFactory factory)
GremlinScriptEngineFactory to handle a language name.  Overrides any such association found
 using the discovery mechanism.registerEngineName in interface GremlinScriptEngineManagername - The name to be associated with the GremlinScriptEngineFactoryfactory - The class to associate with the given name.NullPointerException - if any of the parameters is null.public void registerEngineMimeType(String type, GremlinScriptEngineFactory factory)
GremlinScriptEngineFactory to handle a mime type. Overrides any such association found using
 the discovery mechanism.registerEngineMimeType in interface GremlinScriptEngineManagertype - The mime type  to be associated with the GremlinScriptEngineFactory.factory - The class to associate with the given mime type.NullPointerException - if any of the parameters is null.public void registerEngineExtension(String extension, GremlinScriptEngineFactory factory)
GremlinScriptEngineFactory to handle an extension. Overrides any such association found
 using the discovery mechanism.registerEngineExtension in interface GremlinScriptEngineManagerextension - The extension type to be associated with the GremlinScriptEngineFactoryfactory - The class to associate with the given extension.NullPointerException - if any of the parameters is null.Copyright © 2013–2020 Apache Software Foundation. All rights reserved.