sbrt.shell.mng.comb
Class SingleElementUnionManager

java.lang.Object
  extended by sbrt.shell.mng.AbstractProcessManager
      extended by sbrt.shell.mng.comb.SingleElementUnionManager
All Implemented Interfaces:
KernelProcessManager<java.lang.String,java.lang.String>, ProcessManager<java.lang.String,java.lang.String>

public final class SingleElementUnionManager
extends AbstractProcessManager
implements KernelProcessManager<java.lang.String,java.lang.String>

This class is used to manage single-element union computers.

Author:
This class was written and documented by Jeremiah Wright while in the Wagner lab.

Field Summary
static UnmodifiableSet<java.lang.String> optionalKeywords
          The set of keywords understood, but not required, by this process manager.
static UnmodifiableSet<java.lang.String> requiredKeywords
          The set of keywords required by this process manager.
static java.lang.String SETS_FILE
          The keyword used to denote the name of the file containing the collection of sets.
 
Fields inherited from class sbrt.shell.mng.AbstractProcessManager
ALGORITHM, COMPLETED, DATA_HEADERS, DEV_NULL, ELAPSED_TIME, FILE_FORMAT, INPUT_FILE, INPUT_FILE_FORMAT, INPUT_FILE_NAME_FILE, ITERATIONS, OUTPUT_FILE_FORMAT, OUTPUT_FILE_NAME, OUTPUT_FILE_NAME_FILE, PERCENT, PERCENT_COMPLETED, SEED, ZERO_CUTOFF
 
Constructor Summary
SingleElementUnionManager()
           
 
Method Summary
 void execute(java.io.PrintWriter out)
          Executes the process this process manager controls and writes the results to the provided print writer.
 UnmodifiableSet<java.lang.String> getOptionalKeys()
          Returns the set of keywords understood, but not required, by this process manager.
static OutputFile<java.util.Set<java.lang.String>> getOutputFile(ManagerInput<java.lang.String,java.lang.String> input, java.io.PrintWriter out)
          Returns an output file with the name provided in the manager input.
static OutputFile<java.util.Set<java.lang.String>> getOutputFile(java.lang.String fileName)
          Returns an output file with the provided name.
static OutputFile<java.util.Set<java.lang.String>> getOutputFile(java.lang.String fileName, java.io.PrintWriter out)
          Returns an output file with the provided name.
 SingleElementUnionProc<java.lang.String> getProcess()
          Returns the process controlled by this process manager.
 UnmodifiableSet<java.lang.String> getRequiredKeys()
          Returns the set of keywords required by this process manager.
static java.util.List<java.util.Set<java.lang.String>> getSets(ManagerInput<java.lang.String,java.lang.String> input, java.io.PrintWriter out)
          Returns the list of sets contained in the file with the name contained in the provided input.
static java.util.List<java.util.Set<java.lang.String>> getSets(java.lang.String fileName)
          Returns the list of sets contained in the file with the provided name.
static java.util.List<java.util.Set<java.lang.String>> getSets(java.lang.String fileName, java.io.PrintWriter out)
          Returns the list of sets contained in the file with the provided name.
 void setInput(ManagerInput<java.lang.String,java.lang.String> input, java.io.PrintWriter out)
          Uses the provided input to prepare this process manager for execution.
 
Methods inherited from class sbrt.shell.mng.AbstractProcessManager
check, closeFile, closeRm, execute, getFileFormat, getFileFormat, getFileNameSource, getIterations, getSeed, getTextFileFormat, getTextFileFormat, getZeroCutoff, getZeroCutoff, parseInt, parseLong, printProgress, printProgress, printProgress, runProcess, setInput
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface sbrt.shell.mng.ProcessManager
check, execute, setInput
 

Field Detail

SETS_FILE

public static final java.lang.String SETS_FILE
The keyword used to denote the name of the file containing the collection of sets.

See Also:
Constant Field Values

requiredKeywords

public static final UnmodifiableSet<java.lang.String> requiredKeywords
The set of keywords required by this process manager.


optionalKeywords

public static final UnmodifiableSet<java.lang.String> optionalKeywords
The set of keywords understood, but not required, by this process manager.

Constructor Detail

SingleElementUnionManager

public SingleElementUnionManager()
Method Detail

getSets

public static java.util.List<java.util.Set<java.lang.String>> getSets(java.lang.String fileName,
                                                                      java.io.PrintWriter out)
Returns the list of sets contained in the file with the provided name. The sets must be parsable using PipeSetFormat;

Parameters:
fileName - the name of the file containing a list of sets.
out - the print writer to which status messages will be printed.
Returns:
the list of sets contained in the file with the provided name.

getSets

public static java.util.List<java.util.Set<java.lang.String>> getSets(java.lang.String fileName)
Returns the list of sets contained in the file with the provided name. The sets must be parsable using PipeSetFormat;

Parameters:
fileName - the name of the file containing a list of sets.
Returns:
the list of sets contained in the file with the provided name.

getSets

public static java.util.List<java.util.Set<java.lang.String>> getSets(ManagerInput<java.lang.String,java.lang.String> input,
                                                                      java.io.PrintWriter out)
Returns the list of sets contained in the file with the name contained in the provided input. The sets must be parsable using PipeSetFormat;

Parameters:
input - the input containing the name of the file containing a list of sets.
out - the print writer to which status messages will be printed.
Returns:
the list of sets contained in the file with the provided name.

getOutputFile

public static OutputFile<java.util.Set<java.lang.String>> getOutputFile(ManagerInput<java.lang.String,java.lang.String> input,
                                                                        java.io.PrintWriter out)
Returns an output file with the name provided in the manager input.

Parameters:
input - the manager input containing the desired name of the output file.
out - the print writer to which a status message will be printed.
Returns:
an output file with the provided name.

getOutputFile

public static OutputFile<java.util.Set<java.lang.String>> getOutputFile(java.lang.String fileName,
                                                                        java.io.PrintWriter out)
Returns an output file with the provided name.

Parameters:
fileName - the desired name of the output file.
out - the print writer to which a status message will be printed.
Returns:
an output file with the provided name.

getOutputFile

public static OutputFile<java.util.Set<java.lang.String>> getOutputFile(java.lang.String fileName)
Returns an output file with the provided name.

Parameters:
fileName - the desired name of the output file.
Returns:
an output file with the provided name.

getRequiredKeys

public UnmodifiableSet<java.lang.String> getRequiredKeys()
Returns the set of keywords required by this process manager.

Specified by:
getRequiredKeys in interface ProcessManager<java.lang.String,java.lang.String>
Returns:
the set of keywords required by this process manager.

getOptionalKeys

public UnmodifiableSet<java.lang.String> getOptionalKeys()
Returns the set of keywords understood, but not required, by this process manager.

Specified by:
getOptionalKeys in interface ProcessManager<java.lang.String,java.lang.String>
Returns:
the set of keywords understood, but not required, by this process manager.

getProcess

public SingleElementUnionProc<java.lang.String> getProcess()
Returns the process controlled by this process manager.

Specified by:
getProcess in interface KernelProcessManager<java.lang.String,java.lang.String>
Returns:
the process controlled by this process manager.

setInput

public void setInput(ManagerInput<java.lang.String,java.lang.String> input,
                     java.io.PrintWriter out)
Uses the provided input to prepare this process manager for execution. As the input is processed, informative messages are printed to the provided print writer.

Specified by:
setInput in interface ProcessManager<java.lang.String,java.lang.String>
Parameters:
input - all of the information required to prepare this process manager for execution.
out - the print writer to which all messages will be printed.

execute

public void execute(java.io.PrintWriter out)
Executes the process this process manager controls and writes the results to the provided print writer.

Specified by:
execute in interface ProcessManager<java.lang.String,java.lang.String>
Parameters:
out - the print writer where the results will be printed.
Throws:
java.lang.IllegalStateException - if no input was provided to this process manager.