com.martiansoftware.nailgun
Class NGContext
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()
.
PrintStream | err - The client's stderr
|
InputStream | in - The client's stdin
|
PrintStream | out - The client's stdout
|
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.
|
err
public PrintStream err
The client's stderr
in
public InputStream in
The client's stdin
out
public PrintStream out
The client's stdout
assertLocalClient
public void assertLocalClient()
Throws a java.lang.SecurityException
if the client is not
connected from the local machine.
assertLoopbackClient
public void assertLoopbackClient()
Throws a java.lang.SecurityException
if the client is not
connected via the loopback address.
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.
exitCode
- the exit code with which the client
should exit
getArgs
public String[] getArgs()
Returns the command line arguments for the command
implementation (nail) on the server.
- the command line arguments for the command
implementation (nail) on the server.
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.
- the command issued by the client
getEnv
public Properties getEnv()
Returns a java.util.Properties
object containing a copy
of the client's environment variables
- a
java.util.Properties
object containing a copy
of the client's environment variables
getFileSeparator
public String getFileSeparator()
Returns the file separator ('/' or '\\') used by the client's os.
- the file 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.
- the address of the client at the other side of this connection.
getNGServer
public NGServer getNGServer()
Returns the NGServer that accepted this connection
- the NGServer that accepted this connection
getPathSeparator
public String getPathSeparator()
Returns the path separator (':' or ';') used by the client's os.
- the path separator (':' or ';') used by the client's os.
getPort
public int getPort()
Returns the port on the client connected to the NailGun
server.
- the port on the client connected to the NailGun
server.
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.
- the current working directory of the client
© 2004, Martian Software, Inc.