package org.neo4j.util.shell; import java.io.Serializable; import java.rmi.Remote; import java.rmi.RemoteException; public interface ShellServer extends Remote { String getName() throws RemoteException; /** * @return a String with some result, if it contains "e" it means exit */ String interpretLine( String line, Session session, Output out ) throws ShellException, RemoteException; /** * Typical use is the PS1 environment variable, where the server converts * "neo-sh[\W]$ " into * "neo-sh[23]$ " (where 23 is the current node id). * @param key the variable key. * @param value the variable value. * @param session the client session to get necessary values from to * help the interpretation. * @return the interpreted value. */ Serializable interpretVariable( String key, Serializable value, Session session ) throws RemoteException; String welcome() throws RemoteException; void setProperty( String key, Serializable value ) throws RemoteException; Serializable getProperty( String key ) throws RemoteException; void shutdown() throws RemoteException; void makeRemotelyAvailable( int port, String name ) throws RemoteException; }