public abstract class SinkModule<In,Mat> extends StreamLayout.AtomicModule
Constructor and Description |
---|
SinkModule(SinkShape<In> shape) |
Modifier and Type | Method and Description |
---|---|
protected SinkShape<In> |
amendShape(Attributes attr) |
StreamLayout.AtomicModule |
carbonCopy()
The purpose of this method is to create a copy to be included in a larger
graph such that port identity clashes are avoided.
|
abstract scala.Tuple2<java.lang.Object,Mat> |
create(MaterializationContext context)
Create the Subscriber or VirtualPublisher that consumes the incoming
stream, plus the materialized value.
|
protected java.lang.String |
label() |
protected abstract SinkModule<In,Mat> |
newInstance(SinkShape<In> s) |
StreamLayout.AtomicModule |
replaceShape(Shape s)
Verify that the given Shape has the same ports and return a new module with that shape.
|
SinkShape<In> |
shape() |
java.lang.String |
toString() |
downstreams, inPorts, outPorts, subModules, upstreams
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
attributes, compose, compose, composeNoMat, equals, fuse, fuse, hashCode, isAtomic, isBidiFlow, isCopied, isFlow, isFused, isRunnable, isSealed, isSink, isSource, materializedValueComputation, transformMaterializedValue, wire, withAttributes
public abstract scala.Tuple2<java.lang.Object,Mat> create(MaterializationContext context)
context
- (undocumented)public StreamLayout.AtomicModule replaceShape(Shape s)
StreamLayout.Module
Please note that this method MUST NOT be implemented using a CopiedModule since the purpose of replaceShape can also be to rearrange the ports (as in BidiFlow.reversed) and that purpose would be defeated.
s
- (undocumented)protected abstract SinkModule<In,Mat> newInstance(SinkShape<In> s)
public StreamLayout.AtomicModule carbonCopy()
StreamLayout.Module
protected SinkShape<In> amendShape(Attributes attr)
protected java.lang.String label()
public final java.lang.String toString()
toString
in class java.lang.Object