I - type of the input valuesO - type of the output valuespublic class Join<I,O> extends Object implements SignalProcessor<I,O>
N consecutive calls to process(Object) using an AggregateFunction.
By adding this joiner to multiple SignalProcessors, which are children of the same SignalSplit,
one can rejoin multiple bands, e.g. by adding their values.SignalSplit| Constructor and Description |
|---|
Join(int partsPerUnit,
AggregateFunction<List<I>,O> aggregateFunction) |
Join(int partsPerUnit,
AggregateFunction<List<I>,O> aggregateFunction,
Object id) |
| Modifier and Type | Method and Description |
|---|---|
<O2> SignalProcessor<O,O2> |
connectTo(SignalProcessor<O,O2> signalProcessor)
Connects this processor to another processor to forward processed data to.
|
<O2> SignalProcessor<O,O2> |
disconnectFrom(SignalProcessor<O,O2> signalProcessor)
Disconnects a child processor.
|
boolean |
equals(Object o) |
void |
flush()
Only flush, if we just aggregated some signal, but not, if we are still waiting for missing parts.
|
SignalProcessor<O,?>[] |
getConnectedProcessors()
Lists all connected processors.
|
Object |
getId()
By default this simply calls
toString() |
O |
getOutput()
First calls
SignalProcessor.flush(), then returns the pending output, should there be any. |
int |
getPartsPerUnit() |
int |
hashCode() |
void |
process(I i)
Only call kids process method, if we have enough parts.
|
void |
setId(Object id)
Let's you provide an id.
|
String |
toString() |
public Join(int partsPerUnit,
AggregateFunction<List<I>,O> aggregateFunction)
public Join(int partsPerUnit,
AggregateFunction<List<I>,O> aggregateFunction,
Object id)
public int getPartsPerUnit()
public void process(I i) throws IOException
process in interface SignalProcessor<I,O>i - data to processIOExceptionSignalProcessor.getConnectedProcessors()public void flush()
throws IOException
flush in interface SignalProcessor<I,O>IOExceptionpublic O getOutput() throws IOException
SignalProcessorSignalProcessor.flush(), then returns the pending output, should there be any.
Note that this call may only succeed once to preserve memory.getOutput in interface SignalProcessor<I,O>null is returnedIOException - if a processing error occurspublic Object getId()
toString()getId in interface SignalProcessor<I,O>setId(Object)public void setId(Object id)
id - some identifierpublic <O2> SignalProcessor<O,O2> connectTo(SignalProcessor<O,O2> signalProcessor)
SignalProcessorconnectTo in interface SignalProcessor<I,O>O2 - output type of the processor we want to connect tosignalProcessor - processorSignalProcessor.disconnectFrom(SignalProcessor),
SignalProcessor.getConnectedProcessors(),
SignalPipelinepublic <O2> SignalProcessor<O,O2> disconnectFrom(SignalProcessor<O,O2> signalProcessor)
SignalProcessordisconnectFrom in interface SignalProcessor<I,O>O2 - output type of the processor we want to disconnect fromsignalProcessor - processorSignalProcessor.connectTo(SignalProcessor),
SignalProcessor.getConnectedProcessors()public SignalProcessor<O,?>[] getConnectedProcessors()
SignalProcessorgetConnectedProcessors in interface SignalProcessor<I,O>nullSignalProcessor.disconnectFrom(SignalProcessor),
SignalProcessor.connectTo(SignalProcessor)Copyright © 2011–2020 tagtraum industries incorporated. All rights reserved.