Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.martiansoftware.nailgun
Class NGContext

    java.lang.Object
      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
`equals, 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.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

© 2004, Martian Software, Inc.