org.apache.tinkerpop.gremlin.groovy.plugin

## Interface GremlinPlugin

- All Known Implementing Classes:
    AbstractGremlinPlugin, CredentialGraphGremlinPlugin, GiraphGremlinPlugin, HadoopGremlinPlugin, Neo4jGremlinPlugin, SparkGremlinPlugin, SugarGremlinPlugin, TinkerGraphGremlinPlugin

  Deprecated.
  As for 3.2.4, replaced by `GremlinPlugin`

      @Deprecated
      public interface GremlinPlugin

  Those wanting to extend Gremlin can implement this interface to provide mapper imports and extension methods to the language itself. Gremlin uses `ServiceLoader` to install plugins. It is necessary for projects to include a `org.apache.tinkerpop.gremlin.groovy.plugin.GremlinPlugin` file in `META-INF/services` of their packaged project which includes the full class names of the implementations of this interface to install.
  Author:
    Stephen Mallette (http://stephen.genoprime.com)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `ENVIRONMENT` Deprecated.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getName()` Deprecated. The name of the plugin.
    `void` | `pluginTo(PluginAcceptor pluginAcceptor)` Deprecated. Implementers will typically execute imports of classes within their project that they want available in the console or they may use meta programming to introduce new extensions to the Gremlin.
    `default Optional<RemoteAcceptor>` | `remoteAcceptor()` Deprecated. Allows a plugin to utilize features of the `:remote` and `:submit` commands of the Gremlin Console.
    `default boolean` | `requireRestart()` Deprecated. Some plugins may require a restart of the plugin host for the classloader to pick up the features.

- - ### Field Detail

    - #### ENVIRONMENT

          static final String ENVIRONMENT

      Deprecated.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getName

          String getName()

      Deprecated.
      The name of the plugin. This name should be unique (use a namespaced approach) as naming clashes will prevent proper plugin operations. Plugins 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".

    - #### pluginTo

          void pluginTo(PluginAcceptor pluginAcceptor)
                 throws IllegalEnvironmentException,
                        PluginInitializationException

      Deprecated.
      Implementers will typically execute imports of classes within their project that they want available in the console or they may use meta programming to introduce new extensions to the Gremlin.
      Throws:
        `IllegalEnvironmentException` - if there are missing environment properties required by the plugin as provided from `PluginAcceptor.environment()`.
        `PluginInitializationException` - if there is a failure in the plugin iniitalization process

    - #### requireRestart

          default boolean requireRestart()

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

    - #### remoteAcceptor

          default Optional<RemoteAcceptor> remoteAcceptor()

      Deprecated.
      Allows a plugin to utilize features of the `:remote` and `:submit` commands of the Gremlin Console. This method does not need to be implemented if the plugin is not meant for the Console for some reason or if it does not intend to take advantage of those commands.

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