adams.flow.transformer
Class CopyGlobalTransformer

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.flow.core.AbstractActor
              extended by adams.flow.core.AbstractCopyGlobalActor
                  extended by adams.flow.transformer.CopyGlobalTransformer
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, Actor, ErrorHandler, GlobalActorUser, InputConsumer, OutputProducer, Serializable, Comparable

public class CopyGlobalTransformer
extends AbstractCopyGlobalActor
implements InputConsumer, OutputProducer

Feeds tokens into the copy of a global transformer and broadcasts the generated output tokens.

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to 
    the console (0 = off).
    default: 0
    minimum: 0
 
-name <java.lang.String> (property: name)
    The name of the actor.
    default: CopyGlobalTransformer
 
-annotation <adams.core.base.BaseText> (property: annotations)
    The annotations to attach to this actor.
    default: 
 
-skip (property: skip)
    If set to true, transformation is skipped and the input token is just forwarded 
    as it is.
 
-stop-flow-on-error (property: stopFlowOnError)
    If set to true, the flow gets stopped in case this actor encounters an error;
     useful for critical actors.
 
-global <adams.flow.core.GlobalActorReference> (property: globalName)
    The name of the global actor to use.
    default: unknown
 

Version:
$Revision: 5764 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
static String BACKUP_INPUT
          the key for storing the current input token in the backup.
protected  Token m_InputToken
          the token that is to be fed into the global transformer.
 
Fields inherited from class adams.flow.core.AbstractCopyGlobalActor
m_GlobalActor, m_GlobalName, m_Helper
 
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_Headless, m_Name, m_Parent, m_Root, m_ScopeHandler, m_Self, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
 
Constructor Summary
CopyGlobalTransformer()
           
 
Method Summary
 Class[] accepts()
          Returns the class that the consumer accepts.
protected  Hashtable<String,Object> backupState()
          Backs up the current state of the actor before update the variables.
protected  String executeGlobalActor()
          Executes the global actor.
protected  AbstractActor findGlobalActor()
          Tries to find the global actor referenced by its global name.
 Class[] generates()
          Returns the class of objects that it generates.
 String globalInfo()
          Returns a string describing the object.
 boolean hasPendingOutput()
          Checks whether there is pending output to be collected after executing the flow item.
 void input(Token token)
          The method that accepts the input token and then processes it.
 Token output()
          Returns the generated token.
protected  void pruneBackup()
          Removes entries from the backup.
protected  void reset()
          Resets the scheme.
protected  void restoreState(Hashtable<String,Object> state)
          Restores the state of the actor before the variables got updated.
 
Methods inherited from class adams.flow.core.AbstractCopyGlobalActor
cleanUp, defineOptions, doExecute, forceVariables, getGlobalActor, getGlobalName, getQuickInfo, globalNameTipText, hasGlobalActor, initialize, isFinished, setGlobalName, setUp, stopExecution, wrapUp
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, compareTo, debug, destroy, equals, execute, findVariables, findVariables, findVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, isBackedUp, isExecuted, isExecuting, isHeadless, isStopped, nameTipText, performSetUpChecks, postExecute, preExecute, pruneBackup, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setVariables, shallowCopy, shallowCopy, sizeOf, skipTipText, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, debug, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getQuickInfo, getRoot, getScopeHandler, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, sizeOf, stopExecution, stopExecution, variableChanged, wrapUp
 
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
 
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, defineOptions, getOptionManager
 

Field Detail

BACKUP_INPUT

public static final String BACKUP_INPUT
the key for storing the current input token in the backup.

See Also:
Constant Field Values

m_InputToken

protected transient Token m_InputToken
the token that is to be fed into the global transformer.

Constructor Detail

CopyGlobalTransformer

public CopyGlobalTransformer()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

findGlobalActor

protected AbstractActor findGlobalActor()
Tries to find the global actor referenced by its global name. Makes sure that the actor produces output.

Overrides:
findGlobalActor in class AbstractCopyGlobalActor
Returns:
the global actor or null if not found

pruneBackup

protected void pruneBackup()
Removes entries from the backup.

Overrides:
pruneBackup in class AbstractActor

backupState

protected Hashtable<String,Object> backupState()
Backs up the current state of the actor before update the variables.

Overrides:
backupState in class AbstractActor
Returns:
the backup

restoreState

protected void restoreState(Hashtable<String,Object> state)
Restores the state of the actor before the variables got updated.

Overrides:
restoreState in class AbstractActor
Parameters:
state - the backup of the state to restore from

reset

protected void reset()
Resets the scheme.

Overrides:
reset in class AbstractActor

accepts

public Class[] accepts()
Returns the class that the consumer accepts.

Specified by:
accepts in interface InputConsumer
Returns:
the Class of objects that can be processed

input

public void input(Token token)
The method that accepts the input token and then processes it.

Specified by:
input in interface InputConsumer
Parameters:
token - the token to accept and process

generates

public Class[] generates()
Returns the class of objects that it generates.

Specified by:
generates in interface OutputProducer
Returns:
depends on the global actor

executeGlobalActor

protected String executeGlobalActor()
Executes the global actor. Derived classes might need to override this method to ensure atomicity.

Specified by:
executeGlobalActor in class AbstractCopyGlobalActor
Returns:
null if no error, otherwise error message

output

public Token output()
Returns the generated token.

Specified by:
output in interface OutputProducer
Returns:
the generated token

hasPendingOutput

public boolean hasPendingOutput()
Checks whether there is pending output to be collected after executing the flow item.

Specified by:
hasPendingOutput in interface OutputProducer
Returns:
true if there is pending output


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.