|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbiz.hammurapi.dataflow.AbstractMixer
public abstract class AbstractMixer
Base class for mixers which join data.
Nested Class Summary | |
---|---|
protected static interface |
AbstractMixer.InputEntry
Information about input presented to join(). |
static interface |
AbstractMixer.JoinHelper
Joins inputs. |
static interface |
AbstractMixer.JoinPredicate
Decides whether given inputs shall be joined. |
Field Summary | |
---|---|
protected DataSink |
sink
|
Constructor Summary | |
---|---|
AbstractMixer()
|
Method Summary | |
---|---|
protected boolean |
addData(java.lang.String name,
Data data)
This method invokes join logic. |
protected Data |
chainInputs(AbstractMixer.InputEntry[] inputs)
Creates output data by chaining non-null inputs. |
protected boolean |
controlsMultiplexing(java.lang.String name)
|
protected Data |
createData(Data[] chain)
Factory method for data. |
protected java.util.Collection |
createDataCollection(java.lang.String name)
Creates collection to hold input data for joining. |
protected DataItemInfo[] |
getDataInfo(java.lang.String name)
|
DataSink |
getInput(java.lang.String name)
|
protected abstract void |
join(AbstractMixer.InputEntry[] inputs,
java.lang.String activatorName,
DataSink sink)
Abstract mixer presents all permutations of newly arrived data from given input with previously arrived data from other inputs plus null values to include cases with inputs without data. |
protected Data |
mountInputs(AbstractMixer.InputEntry[] inputs,
java.lang.String separator)
Creates output data by mounting non-null inputs using their names plus separator as prefixes. |
void |
setSink(DataSink sink)
Adds data sink to the source. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface biz.hammurapi.dataflow.DataSource |
---|
getName |
Field Detail |
---|
protected DataSink sink
Constructor Detail |
---|
public AbstractMixer()
Method Detail |
---|
public void setSink(DataSink sink)
DataSource
setSink
in interface DataSource
protected abstract void join(AbstractMixer.InputEntry[] inputs, java.lang.String activatorName, DataSink sink)
inputs
- Inputs for joiningactivatorName
- name of the input which activated this join (newly arrived data)sink
- DataSink to write results of joining to (if any).public DataSink getInput(java.lang.String name)
name
-
protected boolean controlsMultiplexing(java.lang.String name)
name
- Input name.
protected DataItemInfo[] getDataInfo(java.lang.String name)
name
- Input name.
protected java.util.Collection createDataCollection(java.lang.String name)
name
- Input name.
protected boolean addData(java.lang.String name, Data data)
name
- Input name.data
- Input data.
protected Data createData(Data[] chain)
chain
- Chain of data to delegate data item requests. Can be null.
protected Data mountInputs(AbstractMixer.InputEntry[] inputs, java.lang.String separator)
inputs
-
protected Data chainInputs(AbstractMixer.InputEntry[] inputs)
inputs
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |