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 SignalProcessor
s, 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 processIOException
SignalProcessor.getConnectedProcessors()
public void flush() throws IOException
flush
in interface SignalProcessor<I,O>
IOException
public O getOutput() throws IOException
SignalProcessor
SignalProcessor.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)
SignalProcessor
connectTo
in interface SignalProcessor<I,O>
O2
- output type of the processor we want to connect tosignalProcessor
- processorSignalProcessor.disconnectFrom(SignalProcessor)
,
SignalProcessor.getConnectedProcessors()
,
SignalPipeline
public <O2> SignalProcessor<O,O2> disconnectFrom(SignalProcessor<O,O2> signalProcessor)
SignalProcessor
disconnectFrom
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()
SignalProcessor
getConnectedProcessors
in interface SignalProcessor<I,O>
null
SignalProcessor.disconnectFrom(SignalProcessor)
,
SignalProcessor.connectTo(SignalProcessor)
Copyright © 2011–2020 tagtraum industries incorporated. All rights reserved.