Class TestSkeleton

java.lang.Object
  extended by java.lang.Thread
      extended by TestSkeleton
All Implemented Interfaces:
java.lang.Runnable, RemoteSourceListener, CmdlineConsumer
Direct Known Subclasses:
Test04, Test07, Test08, Test10, Test11, Test13, Test14, Test15, Test16, Test17, Test18, Test22, Test23, Test24, Test25, Test26, Test27, Test28, Test29, Test30, Test31, Test32, Test37, Test39, Test48, Test49, Test50, Test51, Test52, Test54, Test64, Test66, Test72, TestStereo, UISkeleton

public abstract class TestSkeleton
extends java.lang.Thread
implements CmdlineConsumer, RemoteSourceListener


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
TestSkeleton()
           
TestSkeleton(java.lang.String[] args)
           
 
Method Summary
 int checkKeyword(java.lang.String mainName, int argc, java.lang.String[] args)
          Handle subclass-specific command line options and their arguments.
 int checkOption(java.lang.String mainName, char ch, java.lang.String arg)
          Handle subclass-specific command line options and their arguments.

If -abc -d efg -h -1 -i is specified, this method will be called a maximum of 5 times: checkOption(mainName, 'a', "bc"); checkOption(mainName, 'd', "efg"); checkOption(mainName, 'h', "-1"); checkOption(mainName, '1', "-i"); checkOption(mainName, 'i', null);
Note that either of the last two method calls may not happen if the preceeding method call claims to have used the following argument (by returning 2.

For example, if the third call (where ch is set to 'h') returns 0 or 1, the next call will contain '1' and "-i".
 void collabSourceLost(int connectionID)
          A remote collaboration peer is no longer available.
 void dataSourceLost(java.lang.String name)
          A remote Data object is no longer available.
 boolean finalizeArgs(java.lang.String mainName)
          Validate arguments after argument parsing has finished.

This is useful for verifying that all required keywords and options have been specified, that options don't conflict with one another, etc.
 void initializeArgs()
          Method used to initialize any instance variables which may be changed by a cmdline option.

This is needed when arguments are processed inside the constructor.
 java.lang.String keywordUsage()
          A short string included in the usage message to indicate valid keywords.

An example might be "[username] [password]".
 java.lang.String optionUsage()
          A short string included in the usage message to indicate valid options.
 void startThreads()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, run, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TestSkeleton

public TestSkeleton()

TestSkeleton

public TestSkeleton(java.lang.String[] args)
             throws java.rmi.RemoteException,
                    VisADException
Throws:
java.rmi.RemoteException
VisADException
Method Detail

initializeArgs

public void initializeArgs()
Description copied from interface: CmdlineConsumer
Method used to initialize any instance variables which may be changed by a cmdline option.

This is needed when arguments are processed inside the constructor. If the first line in the constructor in a class which extends this class is super(args), CmdlineParser will be run before any instance variables for the extending class are initialized.

To ensure all instance variables are properly initialized, place the initialization code in the initializeArgs() method.

Specified by:
initializeArgs in interface CmdlineConsumer

checkOption

public int checkOption(java.lang.String mainName,
                       char ch,
                       java.lang.String arg)
Description copied from interface: CmdlineConsumer
Handle subclass-specific command line options and their arguments.

If -abc -d efg -h -1 -i is specified, this method will be called a maximum of 5 times:
Note that either of the last two method calls may not happen if the preceeding method call claims to have used the following argument (by returning 2.

For example, if the third call (where ch is set to 'h') returns 0 or 1, the next call will contain '1' and "-i". If, however, the third call returns 2, the next call will contain 'i' and null.

Specified by:
checkOption in interface CmdlineConsumer
Parameters:
mainName - The name of the main class (useful for error messages.)
ch - Option character. If -a is specified on the command line, 'a' would be passed to this method.)
arg - The argument associated with this option.
Returns:
less than 0 to indicate an error
0 to indicate that this option is not used by this class
1 to indicate that only the option was used
2 or greater to indicate that both the option and the argument were used

optionUsage

public java.lang.String optionUsage()
Description copied from interface: CmdlineConsumer
A short string included in the usage message to indicate valid options. An example might be "[-t type]".

Specified by:
optionUsage in interface CmdlineConsumer
Returns:
A very terse description string.

checkKeyword

public int checkKeyword(java.lang.String mainName,
                        int argc,
                        java.lang.String[] args)
Description copied from interface: CmdlineConsumer
Handle subclass-specific command line options and their arguments.

Specified by:
checkKeyword in interface CmdlineConsumer
Parameters:
mainName - The name of the main class (useful for error messages.)
argc - The index of the current keyword.
args - The full list of arguments.
Returns:
less than 0 to indicate an error
0 to indicate that this argument is not used by this class
1 or more to indicate the number of arguments used

keywordUsage

public java.lang.String keywordUsage()
Description copied from interface: CmdlineConsumer
A short string included in the usage message to indicate valid keywords.

An example might be "[username] [password]".

Specified by:
keywordUsage in interface CmdlineConsumer
Returns:
A very terse description string.

finalizeArgs

public boolean finalizeArgs(java.lang.String mainName)
Description copied from interface: CmdlineConsumer
Validate arguments after argument parsing has finished.

This is useful for verifying that all required keywords and options have been specified, that options don't conflict with one another, etc.

Specified by:
finalizeArgs in interface CmdlineConsumer
Parameters:
mainName - The name of the main class (useful for error messages.)
Returns:
true if everything is correct, false if there is a problem.

dataSourceLost

public void dataSourceLost(java.lang.String name)
Description copied from interface: RemoteSourceListener
A remote Data object is no longer available.

Specified by:
dataSourceLost in interface RemoteSourceListener
Parameters:
name - The name of the Data object.

collabSourceLost

public void collabSourceLost(int connectionID)
Description copied from interface: RemoteSourceListener
A remote collaboration peer is no longer available.

Specified by:
collabSourceLost in interface RemoteSourceListener

startThreads

public void startThreads()
                  throws java.rmi.RemoteException,
                         VisADException
Throws:
java.rmi.RemoteException
VisADException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Thread