edu.sc.seis.sod.process.waveform
Class ForkProcess

java.lang.Object
  extended by edu.sc.seis.sod.process.waveform.ForkProcess
All Implemented Interfaces:
WaveformProcess, SodElement, Subsetter, Threadable
Direct Known Subclasses:
InvertFlippedChannels, SeismogramAND, SeismogramNOT, SeismogramOR

public class ForkProcess
extends java.lang.Object
implements WaveformProcess, Threadable


Field Summary
protected  java.util.List localSeisProcessList
           
static java.util.List<java.lang.String> packages
           
 
Constructor Summary
ForkProcess(org.w3c.dom.Element config)
           
 
Method Summary
 WaveformResult accept(CacheEvent event, ChannelImpl channel, RequestFilter[] request, RequestFilter[] available, LocalSeismogramImpl[] seismograms, CookieJar cookieJar)
          Forks the processing off the LocalSeismograms.
static LocalSeismogramImpl[] copySeismograms(LocalSeismogramImpl[] seismograms)
           
static WaveformProcess createSubsetter(Subsetter s)
           
protected  WaveformResult doAND(CacheEvent event, ChannelImpl channel, RequestFilter[] request, RequestFilter[] available, LocalSeismogramImpl[] seismograms, CookieJar cookieJar)
           
 WaveformProcess[] getWrappedProcessors()
           
 boolean isThreadSafe()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

packages

public static final java.util.List<java.lang.String> packages

localSeisProcessList

protected java.util.List localSeisProcessList
Constructor Detail

ForkProcess

public ForkProcess(org.w3c.dom.Element config)
            throws ConfigurationException
Throws:
ConfigurationException
Method Detail

isThreadSafe

public boolean isThreadSafe()
Specified by:
isThreadSafe in interface Threadable

createSubsetter

public static WaveformProcess createSubsetter(Subsetter s)
                                       throws ConfigurationException
Throws:
ConfigurationException

accept

public WaveformResult accept(CacheEvent event,
                             ChannelImpl channel,
                             RequestFilter[] request,
                             RequestFilter[] available,
                             LocalSeismogramImpl[] seismograms,
                             CookieJar cookieJar)
                      throws java.lang.Exception
Forks the processing off the LocalSeismograms. The processes that are contained in this tag are processed, but the return value off the process method is the original seismograms. This allows, for example to process both a original and a filtered version of the seismograms independently.

Specified by:
accept in interface WaveformProcess
Throws:
java.lang.Exception

doAND

protected WaveformResult doAND(CacheEvent event,
                               ChannelImpl channel,
                               RequestFilter[] request,
                               RequestFilter[] available,
                               LocalSeismogramImpl[] seismograms,
                               CookieJar cookieJar)
                        throws java.lang.Exception
Throws:
java.lang.Exception

copySeismograms

public static LocalSeismogramImpl[] copySeismograms(LocalSeismogramImpl[] seismograms)

toString

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

getWrappedProcessors

public WaveformProcess[] getWrappedProcessors()