-
- All Known Subinterfaces:
Inoutlet<I,O>,MapDownlink<K,V>,MapInletMapOutlet<KI,KO,VI,VO,I,O>,MapInletOutlet<K,V,I,O>,MapInoutlet<K,VI,VO,I,O>,MapLane<K,V>,MapOutlet<K,V,O>,RecordOutlet,ValueDownlink<V>,ValueLane<V>
- All Known Implementing Classes:
AbstractInoutlet,AbstractMapInletMapOutlet,AbstractMapInletOutlet,AbstractMapInoutlet,AbstractMapOutlet,AbstractOutlet,AbstractRecordOutlet,AndOutlet,BinaryOutlet,BitwiseAndOutlet,BitwiseNotOutlet,BitwiseOrOutlet,BitwiseXorOutlet,ConditionalOutlet,DivideOutlet,DownlinkRecord,EqOutlet,FilterFieldsCombinator,FilterFieldsOperator,GeOutlet,GetOutlet,GtOutlet,InvokeOutlet,JoinMapLaneDownlink,JoinValueLaneDownlink,KeyOutlet,LeOutlet,ListDownlinkRecord,LtOutlet,MapDownlinkRecord,MapDownlinkView,MapFieldValuesCombinator,MapFieldValuesOperator,MapInput,MapLaneView,MapValueCombinator,MapValueOperator,MemoizeMapCombinator,MemoizeValueCombinator,MinusOutlet,ModuloOutlet,NegativeOutlet,NeOutlet,NotOutlet,OrOutlet,PlusOutlet,PositiveOutlet,RecordModel,RecordScope,ReduceFieldsCombinator,ReduceFieldsOperator,StreamletInoutlet,StreamletOutlet,TimesOutlet,UnaryOutlet,ValueDownlinkRecord,ValueDownlinkView,ValueInput,ValueLaneView
public interface Outlet<O>Output connector from aStreamlet. AnOutletrepresents a sink to which aStreamletprovides state.An
Outlethas a one-to-many relationship with a set of output sinks. An output sink of anOutletis anInletof some otherStreamlet. ThebindOutput(Inlet)method "plugs" anInletinto theOutlet. TheunbindOutput(Inlet)method "unplugs" anInletfrom theOutlet.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidbindOutput(Inlet<? super O> output)Adds anoutputto the set ofInlets that depend on the state of thisOutlet.voiddecohereInput()Marks thisOutlet—and alloutputsthat depend on the state of thisOutlet—as having decoherent state.voiddisconnectInputs()Disconnects allInlets dominated by thisOutletin the dataflow dependency graph.voiddisconnectOutputs()Disconnects allOutlets dominated by thisOutletin the dataflow graph.Oget()Returns the current state of thisOutlet.default <O2> Outlet<O2>map(MapValueFunction<? super O,O2> func)default Outlet<O>memoize()Iterator<? extends Inlet<? super O>>outputIterator()Returns anIteratorover the set ofInlets that depend on the state of thisOutlet.voidrecohereInput(int version)Updates the state of thisOutletto make it consistent with the targetversion.voidunbindOutput(Inlet<? super O> output)Removes anoutputfrom the set ofInlets that depend on the state of thisOutlet.voidunbindOutputs()Disconnects all outputs from thisOutletby invokingInlet.unbindInput()on eachIneltthat depends on the state of thisOutlet.default Outlet<O>watch(WatchValueFunction<? super O> func)
-
-
-
Method Detail
-
get
O get()
Returns the current state of thisOutlet.
-
outputIterator
Iterator<? extends Inlet<? super O>> outputIterator()
Returns anIteratorover the set ofInlets that depend on the state of thisOutlet.
-
bindOutput
void bindOutput(Inlet<? super O> output)
Adds anoutputto the set ofInlets that depend on the state of thisOutlet. Theoutputwill be decohered when the state of thisOutletis decohered, and recohered when thisOutletis recohered.
-
unbindOutput
void unbindOutput(Inlet<? super O> output)
Removes anoutputfrom the set ofInlets that depend on the state of thisOutlet.
-
unbindOutputs
void unbindOutputs()
Disconnects all outputs from thisOutletby invokingInlet.unbindInput()on eachIneltthat depends on the state of thisOutlet.
-
disconnectOutputs
void disconnectOutputs()
Disconnects allOutlets dominated by thisOutletin the dataflow graph. Used to recursively clean up chains of combinators originating from thisInlet.
-
disconnectInputs
void disconnectInputs()
Disconnects allInlets dominated by thisOutletin the dataflow dependency graph. Used to recursively clean up chains of combinators passing through thisOutlet.
-
decohereInput
void decohereInput()
Marks thisOutlet—and alloutputsthat depend on the state of thisOutlet—as having decoherent state.
-
recohereInput
void recohereInput(int version)
Updates the state of thisOutletto make it consistent with the targetversion. TheOutletonly needs to update if its currentversiondiffers from the targetversion. To update its state, theOutletfirst invokesStreamlet.recohere(int)on theStreamletto which it's attached. It then invokesInlet.recohereOutput(int)on each of its dependentoutputs.
-
map
default <O2> Outlet<O2> map(MapValueFunction<? super O,O2> func)
-
watch
default Outlet<O> watch(WatchValueFunction<? super O> func)
-
-