org.apache.tinkerpop.gremlin.jsr223

## Interface GremlinPlugin

- All Known Implementing Classes:
    AbstractGremlinPlugin, BindingsGremlinPlugin, CoreGremlinPlugin, CredentialGraphGremlinPlugin, GiraphGremlinPlugin, GremlinServerGremlinPlugin, GroovyCompilerGremlinPlugin, HadoopGremlinPlugin, ImportGremlinPlugin, Neo4jGremlinPlugin, ScriptFileGremlinPlugin, SparkGremlinPlugin, SugarGremlinPlugin, TinkerGraphGremlinPlugin

      public interface GremlinPlugin

  A plugin interface that is used by the `GremlinScriptEngineManager` to configure special `Customizer` instances that will alter the features of any `GremlinScriptEngine` created by the manager itself.
  Author:
    Stephen Mallette (http://stephen.genoprime.com)

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default Optional<Customizer[]>` | `getCustomizers()` Gets the list of all `Customizer` implementations to assign to a new `GremlinScriptEngine`.
    `Optional<Customizer[]>` | `getCustomizers(String scriptEngineName)` Gets the list of `Customizer` implementations to assign to a new `GremlinScriptEngine`.
    `String` | `getName()` The name of the module.
    `default boolean` | `requireRestart()` Some modules may require a restart of the plugin host for the classloader to pick up the features.

- - ### Method Detail

    - #### getName

          String getName()

      The name of the module. This name should be unique (use a namespaced approach) as naming clashes will prevent proper module operations. Modules developed by TinkerPop will be prefixed with "tinkerpop." For example, TinkerPop's implementation of Giraph would be named "tinkerpop.giraph". If Facebook were to do their own implementation the implementation might be called "facebook.giraph".

    - #### requireRestart

          default boolean requireRestart()

      Some modules may require a restart of the plugin host for the classloader to pick up the features. This is typically true of modules that rely on `Class.forName()` to dynamically instantiate classes from the root classloader (e.g. JDBC drivers that instantiate via @{code DriverManager}).

    - #### getCustomizers

          default Optional<Customizer[]> getCustomizers()

      Gets the list of all `Customizer` implementations to assign to a new `GremlinScriptEngine`. This is the same as doing `getCustomizers(null)`.

    - #### getCustomizers

          Optional<Customizer[]> getCustomizers(String scriptEngineName)

      Gets the list of `Customizer` implementations to assign to a new `GremlinScriptEngine`. The implementation should filter the returned `Customizers` according to the supplied name of the Gremlin-enabled `ScriptEngine`. By providing a filter, `GremlinModule` developers can have the ability to target specific `ScriptEngines`.
      Parameters:
        `scriptEngineName` - The name of the `ScriptEngine` or null to get all the available `Customizers`

Copyright © 2013–2020 Apache Software Foundation. All rights reserved.