Interface RemoteAcceptor
-
- All Superinterfaces:
AutoCloseable
,Closeable
public interface RemoteAcceptor extends Closeable
The Gremlin Console supports the:remote
and:submit
commands which provide standardized ways for plugins to provide "remote connections" to resources and a way to "submit" a command to those resources. A "remote connection" does not necessarily have to be a remote server. It simply refers to a resource that is external to the console. By implementing this interface and returning an instance of it throughConsoleCustomizer.getRemoteAcceptor(GremlinShellEnvironment)
a plugin can hook into those commands and provide remoting features.- Author:
- Stephen Mallette (http://stephen.genoprime.com)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default boolean
allowRemoteConsole()
If theRemoteAcceptor
is used in the Gremlin Console, then this method might be called to determine if it can be used in a fashion that supports the:remote console
command.Object
configure(List<String> args)
Gets called when:remote
is used in conjunction with theconfig
option.Object
connect(List<String> args)
Gets called when:remote
is used in conjunction with the "connect" option.Object
submit(List<String> args)
Gets called when:submit
is executed.
-
-
-
Field Detail
-
RESULT
static final String RESULT
- See Also:
- Constant Field Values
-
-
Method Detail
-
connect
Object connect(List<String> args) throws RemoteException
Gets called when:remote
is used in conjunction with the "connect" option. It is up to the implementation to decide how additional arguments on the line should be treated after "connect".- Returns:
- an object to display as output to the user
- Throws:
RemoteException
- if there is a problem with connecting
-
configure
Object configure(List<String> args) throws RemoteException
Gets called when:remote
is used in conjunction with theconfig
option. It is up to the implementation to decide how additional arguments on the line should be treated afterconfig
.- Returns:
- an object to display as output to the user
- Throws:
RemoteException
- if there is a problem with configuration
-
submit
Object submit(List<String> args) throws RemoteException
Gets called when:submit
is executed. It is up to the implementation to decide how additional arguments on the line should be treated after:submit
.- Returns:
- an object to display as output to the user
- Throws:
RemoteException
- if there is a problem with submission
-
allowRemoteConsole
default boolean allowRemoteConsole()
If theRemoteAcceptor
is used in the Gremlin Console, then this method might be called to determine if it can be used in a fashion that supports the:remote console
command. By default, this value is set tofalse
. ARemoteAcceptor
should only returntrue
for this method if it expects that all activities it supports are executed through the:submit
command. If the users interaction with the remote requires working with both local and remote evaluation at the same time, it is likely best to keep this method returnfalse
. A good example of this type of plugin would be the Gephi Plugin which uses:remote config
to configure a localTraversalSource
to be used and expects calls to:submit
for the same body of analysis.
-
-