com.martiansoftware.nailgun
Class NGContext

java.lang.Object
  extended by com.martiansoftware.nailgun.NGContext

public class NGContext
extends Object

Provides quite a bit of potentially useful information to classes specifically written for NailGun. The NailGun server itself, its AliasManager, the remote client's environment variables, and other information is available via this class. For all intents and purposes, the NGContext represents a single connection from a NailGun client.

If a class is written with a

 public static void nailMain(NGContext context)
 
method, that method will be called by NailGun instead of the traditional main(String[]) method normally used for programs. A fully populated NGContext object will then be provided to nailMain().

Author:
Marty Lamb

Field Summary
 PrintStream err
          The client's stderr
 InputStream in
          The client's stdin
 PrintStream out
          The client's stdout
 
Method Summary
 void assertLocalClient()
          Throws a java.lang.SecurityException if the client is not connected from the local machine.
 void assertLoopbackClient()
          Throws a java.lang.SecurityException if the client is not connected via the loopback address.
 void exit(int exitCode)
          Sends an exit command with the specified exit code to the client.
 String[] getArgs()
          Returns the command line arguments for the command implementation (nail) on the server.
 String getCommand()
          Returns the command that was issued by the client (either an alias or the name of a class).
 Properties getEnv()
          Returns a java.util.Properties object containing a copy of the client's environment variables
 String getFileSeparator()
          Returns the file separator ('/' or '\\') used by the client's os.
 InetAddress getInetAddress()
          Returns the address of the client at the other side of this connection.
 NGServer getNGServer()
          Returns the NGServer that accepted this connection
 String getPathSeparator()
          Returns the path separator (':' or ';') used by the client's os.
 int getPort()
          Returns the port on the client connected to the NailGun server.
 String getWorkingDirectory()
          Returns the current working directory of the client, as reported by the client.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

in

public InputStream in
The client's stdin


out

public PrintStream out
The client's stdout


err

public PrintStream err
The client's stderr

Method Detail

getCommand

public String getCommand()
Returns the command that was issued by the client (either an alias or the name of a class). This allows multiple aliases to point to the same class but result in different behaviors.

Returns:
the command issued by the client

getWorkingDirectory

public String getWorkingDirectory()
Returns the current working directory of the client, as reported by the client. This is a String that will use the client's File.separator ('/' or '\'), which may differ from the separator on the server.

Returns:
the current working directory of the client

getEnv

public Properties getEnv()
Returns a java.util.Properties object containing a copy of the client's environment variables

Returns:
a java.util.Properties object containing a copy of the client's environment variables
See Also:
Properties

getFileSeparator

public String getFileSeparator()
Returns the file separator ('/' or '\\') used by the client's os.

Returns:
the file separator ('/' or '\\') used by the client's os.

getPathSeparator

public String getPathSeparator()
Returns the path separator (':' or ';') used by the client's os.

Returns:
the path separator (':' or ';') used by the client's os.

getInetAddress

public InetAddress getInetAddress()
Returns the address of the client at the other side of this connection.

Returns:
the address of the client at the other side of this connection.

getArgs

public String[] getArgs()
Returns the command line arguments for the command implementation (nail) on the server.

Returns:
the command line arguments for the command implementation (nail) on the server.

getNGServer

public NGServer getNGServer()
Returns the NGServer that accepted this connection

Returns:
the NGServer that accepted this connection

exit

public void exit(int exitCode)
Sends an exit command with the specified exit code to the client. The client will exit immediately with the specified exit code; you probably want to return from nailMain immediately after calling this.

Parameters:
exitCode - the exit code with which the client should exit

getPort

public int getPort()
Returns the port on the client connected to the NailGun server.

Returns:
the port on the client connected to the NailGun server.

assertLoopbackClient

public void assertLoopbackClient()
Throws a java.lang.SecurityException if the client is not connected via the loopback address.


assertLocalClient

public void assertLocalClient()
Throws a java.lang.SecurityException if the client is not connected from the local machine.



Copyright © 2012. All Rights Reserved.