gov.sandia.cognition.io.ProcessLauncherEvent Maven / Gradle / Ivy
/*
* File: ProcessLauncherEvent.java
* Authors: Kevin R. Dixon
* Company: Sandia National Laboratories
* Project: Cognitive Framework Lite
*
* Copyright September 20, 2006, Sandia Corporation. Under the terms of Contract
* DE-AC04-94AL85000, there is a non-exclusive license for use of this work by
* or on behalf of the U.S. Government. Export of this program may require a
* license from the United States Government. See CopyrightHistory.txt for
* complete details.
*
*
*/
package gov.sandia.cognition.io;
/**
* Event that gets fired when the ProcessLauncher is updated (for example,
* the underlying process writes to stdout or stderr, or terminates)
*
* @author Kevin R. Dixon
* @since 1.0
*
*/
public class ProcessLauncherEvent
{
/**
* Types of events that may be fired
*/
public enum EventType
{
/**
* The underlying process has updated its stdout
*/
STDOUT,
/**
* The underlying process has updated its stderr
*/
STDERR,
/**
* The underlying process has terminated itself
*/
FINISHED
}
/**
* Type of event
*/
private ProcessLauncherEvent.EventType type;
/**
* If non-null, these tokens correspond to the current line on the
* stdout/stderr stream
*/
private String currentLine;
/**
* The underlying process that fired this event
*/
private Process process;
/**
* Creates a new instance of ProcessLauncherEvent
* @param type
* Type of event
* @param currentLine
* If non-null, these tokens correspond to the current line on the
* stdout/stderr stream
* @param process
* The underlying process that fired this event
*/
public ProcessLauncherEvent(
ProcessLauncherEvent.EventType type,
String currentLine,
Process process )
{
this.setType( type );
this.setCurrentLine( currentLine );
this.setProcess( process );
}
/**
* Getter for type
* @return Type of event
*/
public ProcessLauncherEvent.EventType getType()
{
return this.type;
}
/**
* Setter for type
* @param type Type of event
*/
protected void setType(
ProcessLauncherEvent.EventType type )
{
this.type = type;
}
/**
* Getter for currentLine
* @return
* If non-null, this String corresponds to the current line on the
* stdout/stderr stream
*/
public String getCurrentLine()
{
return this.currentLine;
}
/**
* Setter for currentLine
* @param currentLine
* If non-null, this String corresponds to the current line on the
* stdout/stderr stream
*/
protected void setCurrentLine(
String currentLine )
{
this.currentLine = currentLine;
}
/**
* Getter for process
* @return
* The underlying process that fired this event
*/
public Process getProcess()
{
return this.process;
}
/**
* Setter for process
* @param process
* The underlying process that fired this event
*/
protected void setProcess(
Process process )
{
this.process = process;
}
}