com.martiansoftware.nailgun
Class NGServer
- Runnable
public class NGServer
implements Runnable
Listens for new connections from NailGun clients and launches
NGSession threads to process them.
This class can be run as a standalone server or can be embedded
within larger applications as a means of providing command-line
interaction with the application.
PrintStream | err -
System.err at the time of the NGServer's creation
|
InputStream | in -
System.in at the time of the NGServer's creation
|
PrintStream | out -
System.out at the time of the NGServer's creation
|
NGServer() - Creates a new NGServer that will listen on the default port
(defined in
NGConstants.DEFAULT_PORT ).
|
NGServer(InetAddress addr, int port) - Creates a new NGServer that will listen at the specified address and
on the specified port.
|
boolean | allowsNailsByClassName() - Returns a flag that indicates whether Nail lookups by classname
are allowed.
|
AliasManager | getAliasManager() - Returns the AliasManager in use by this NGServer.
|
Class | getDefaultNailClass() - Returns the default class that will be used if no Nails
can be found via alias or classname.
|
Map | getNailStats() - Returns a snapshot of this NGServer's nail statistics.
|
int | getPort() - Returns the port on which this server is (or will be) listening.
|
boolean | isRunning() - Returns true iff the server is currently running.
|
static void | main(String[] args) - Creates and starts a new
NGServer .
|
void | run() - Listens for new connections and launches NGSession threads
to process them.
|
void | setAllowNailsByClassName(boolean allowNailsByClassName) - Sets a flag that determines whether Nails can be executed by class name.
|
void | setDefaultNailClass(Class defaultNailClass) - Sets the default class to use for the Nail if no Nails can
be found via alias or classname.
|
void | shutdown(boolean exitVM) - Shuts down the server.
|
err
public final PrintStream err
System.err
at the time of the NGServer's creation
in
public final InputStream in
System.in
at the time of the NGServer's creation
out
public final PrintStream out
System.out
at the time of the NGServer's creation
NGServer
public NGServer()
Creates a new NGServer that will listen on the default port
(defined in NGConstants.DEFAULT_PORT
).
This does not cause the server to start listening. To do
so, create a new Thread
wrapping this NGServer
and start it.
NGServer
public NGServer(InetAddress addr,
int port)
Creates a new NGServer that will listen at the specified address and
on the specified port.
This does not cause the server to start listening. To do
so, create a new Thread
wrapping this NGServer
and start it.
addr
- the address at which to listen, or null
to bind
to all local addressesport
- the port on which to listen.
allowsNailsByClassName
public boolean allowsNailsByClassName()
Returns a flag that indicates whether Nail lookups by classname
are allowed. If this is false, Nails can only be run via aliases.
- a flag that indicates whether Nail lookups by classname
are allowed.
getAliasManager
public AliasManager getAliasManager()
Returns the AliasManager in use by this NGServer.
- the AliasManager in use by this NGServer.
getDefaultNailClass
public Class getDefaultNailClass()
Returns the default class that will be used if no Nails
can be found via alias or classname.
- the default class that will be used if no Nails
can be found via alias or classname.
getNailStats
public Map getNailStats()
Returns a snapshot of this NGServer's nail statistics. The result is a
java.util.Map
,
keyed by class name, with
NailStats objects as values.
- a snapshot of this NGServer's nail statistics.
getPort
public int getPort()
Returns the port on which this server is (or will be) listening.
- the port on which this server is (or will be) listening.
isRunning
public boolean isRunning()
Returns true iff the server is currently running.
- true iff the server is currently running.
main
public static void main(String[] args)
throws NumberFormatException,
UnknownHostException
Creates and starts a new NGServer
. A single optional
argument is valid, specifying the port on which this NGServer
should listen. If omitted, NGServer.DEFAULT_PORT
will be used.
args
- a single optional argument specifying the port on which to listen.
run
public void run()
Listens for new connections and launches NGSession threads
to process them.
setAllowNailsByClassName
public void setAllowNailsByClassName(boolean allowNailsByClassName)
Sets a flag that determines whether Nails can be executed by class name.
If this is false, Nails can only be run via aliases (and you should
probably remove ng-alias from the AliasManager).
allowNailsByClassName
- true iff Nail lookups by classname are allowed
setDefaultNailClass
public void setDefaultNailClass(Class defaultNailClass)
Sets the default class to use for the Nail if no Nails can
be found via alias or classname. (may be null
,
in which case NailGun will use its own default)
defaultNailClass
- the default class to use for the Nail
if no Nails can be found via alias or classname.
(may be null
, in which case NailGun will use
its own default)
shutdown
public void shutdown(boolean exitVM)
Shuts down the server. The server will stop listening
and its thread will finish. Any running nails will be allowed
to finish.
Any nails that provide a
public static void nailShutdown(NGServer)
method will have this method called with this NGServer as its sole
parameter.
exitVM
- if true, this method will also exit the JVM after
calling nailShutdown() on any nails. This may prevent currently
running nails from exiting gracefully, but may be necessary in order
to perform some tasks, such as shutting down any AWT or Swing threads
implicitly launched by your nails.
© 2004, Martian Software, Inc.