Module swim.dataflow
Package swim.dataflow
Class AbstractRecordStreamlet<I extends Value,O extends Value>
java.lang.Object
swim.structure.Item
swim.structure.Value
swim.structure.Record
swim.dataflow.RecordStreamlet<I,O>
swim.dataflow.AbstractRecordStreamlet<I,O>
- All Implemented Interfaces:
Comparable<Item>,Iterable<Item>,Collection<Item>,List<Item>,Debug,Display,GenericStreamlet<I,,O> Streamlet<I,,O> StreamletScope<O>,Builder<Item,,Record> PairBuilder<Value,Value, Record>
- Direct Known Subclasses:
DownlinkStreamlet
public abstract class AbstractRecordStreamlet<I extends Value,O extends Value>
extends RecordStreamlet<I,O>
implements GenericStreamlet<I,O>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected StreamletContextprotected StreamletScope<? extends O>protected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanAdds a single input value to this builder, returningtrueif the state of the builder changed.voidConnects theInletof thisStreamlet, identified by the givenkey, to theinputfrom which theInletshould acquire its state.<T> T<T> T<T> T<T> Tvoidclear()<T> TcoerceInput(String key, Form<T> form) <T> TcoerceInput(String key, Form<T> form, T orElse) <T> TcoerceInput(Inlet<? extends I> inlet, Form<T> form) <T> TcoerceInput(Inlet<? extends I> inlet, Form<T> form, T orElse) compileInlets(Class<?> streamletClass, RecordStreamlet<I, O> streamlet) booleancontainsKey(String key) Returnstrueif thisRecordhas aFieldmember with a key that is equal to the givenkey; otherwise returnsfalseif thisRecordhas noFieldmember with a key equal to the givenkey.booleancontainsKey(Value key) Returnstrueif thisRecordhas aFieldmember with a key that is equal to the givenkey; otherwise returnsfalseif thisRecordhas noFieldmember with a key equal to the givenkey.voiddecohere()Marks thisStreamlet—and all of its outlets—as having inconsistent state.protected voidvoiddidDecohereInlet(Inlet<? extends I> inlet) voiddidDecohereOutlet(Outlet<? super O> outlet) protected voiddidRecohere(int version) voiddidRecohereInlet(Inlet<? extends I> inlet, int version) voiddidRecohereOutlet(Outlet<? super O> outlet, int version) voidDisconnects allInlets dominated by thisStreamletin the dataflow dependency graph.voidDisconnects allInletss dominated by thisStreamletin the dataflow graph.get(int index) Returns the member of thisRecordat the givenindex, if theindexis greater than or equal to zero, and less than thelengthof thisRecord.Returns the lastFieldmember of thisRecordwhose key is equal to the givenkey; returnsnullif thisRecordhas noFieldmember with akeyequal to the givenkey.Returns the lastFieldmember of thisRecordwhose key is equal to the givenkey; returnsnullif thisRecordhas noFieldmember with akeyequal to the givenkey.<I2 extends I>
I2<I2 extends I>
I2<I2 extends I>
I2<I2 extends I>
I2getItem(int index) inlet()Returns theInletto thisStreamletidentified by the givenkey; returnsnullif thisStreamlethas no suchInlet.inoutlet()booleanisEmpty()Returnstrueif thisRecordhas no members.protected voidprotected voidprotected voidonRecohere(int version) protected voidonRecohereInlets(int version) protected voidonRecohereOutlets(int version) outlet()Returns theOutletof thisStreamletidentified by the givenkey; returnsnullif thisStreamlethas no suchOutlet.voidrecohere(int version) Updates the state of thisStreamletto make it consistent with the targetversion.remove(int index) booleanbooleanReplaces the member of thisRecordat the givenindexwith a newitem, returning the previousItemat the givenindex, if theindexis greater than or equal to zero, and less than thelengthof thisRecord.voidsetStreamletContext(StreamletContext context) Sets the environment in which thisStreamletoperates.voidsetStreamletScope(StreamletScope<? extends O> scope) Sets the lexically scoped parent of thisStreamlet.intsize()Returns the number of members contained in thisRecord.Returns the environment in which thisStreamletoperates.StreamletScope<? extends O>Returns the lexically scoped parent of thisStreamlet.voidunbindInput(String key) Disconnects theInletof thisStreamlet, identified by the givenkey, from itsinputOutlet, if connected.protected voidvoidwillDecohereInlet(Inlet<? extends I> inlet) voidwillDecohereOutlet(Outlet<? super O> outlet) protected voidwillRecohere(int version) voidwillRecohereInlet(Inlet<? extends I> inlet, int version) voidwillRecohereOutlet(Outlet<? super O> outlet, int version) Methods inherited from class swim.dataflow.RecordStreamlet
compile, compileInlet, isConstantMethods inherited from class swim.structure.Record
add, add, add, add, add, add, add, add, add, add, add, add, add, addAll, addAll, alias, appended, appended, asMutable, attr, attr, attr, attr, attr, attr, attr, attr, attr, attr, attr, attr, attr, attr, attr, attr, bind, body, branch, commit, compareTo, compareTo, concat, contains, contains, containsAll, containsValue, create, create, debug, empty, entrySet, equals, evaluate, fieldCount, fieldIterator, fieldSet, flattened, hashCode, head, header, headers, indexOf, isAliased, isArray, isDefinite, isMutable, isObject, item, item, item, item, item, item, item, iterator, keyIterator, keySet, lastIndexOf, length, listIterator, listIterator, of, of, of, prepended, prepended, put, put, put, put, put, put, put, put, put, put, put, put, putAll, putAttr, putAttr, putAttr, putAttr, putAttr, putAttr, putAttr, putAttr, putAttr, putAttr, putAttr, putAttr, putSlot, putSlot, putSlot, putSlot, putSlot, putSlot, putSlot, putSlot, putSlot, putSlot, putSlot, putSlot, remove, removeAll, removed, removed, retainAll, set, setItem, setItem, setItem, setItem, setItem, setItem, slot, slot, slot, slot, slot, slot, slot, slot, slot, slot, slot, slot, slot, slot, slot, slot, stringValue, stringValue, subList, substitute, tag, tail, target, toArray, toArray, typeOrder, unflattened, updated, updated, updatedAttr, updatedAttr, updatedSlot, updatedSlot, valueCount, valueIterator, valuesMethods inherited from class swim.structure.Value
absent, and, and, bitwiseAnd, bitwiseAnd, bitwiseNot, bitwiseOr, bitwiseOr, bitwiseXor, bitwiseXor, booleanValue, booleanValue, builder, byteValue, byteValue, charValue, charValue, conditional, conditional, divide, divide, doubleValue, doubleValue, eq, eq, extant, floatValue, floatValue, fromObject, ge, ge, gt, gt, integerValue, integerValue, intValue, intValue, inverse, isDefined, isDistinct, key, keyEquals, lambda, le, le, longValue, longValue, lt, lt, minus, minus, modulo, modulo, ne, ne, negative, not, numberValue, numberValue, or, or, plus, plus, positive, shortValue, shortValue, times, times, toValueMethods inherited from class swim.structure.Item
appended, appended, appended, appended, appended, appended, cast, cast, coerce, coerce, display, evaluate, filter, filter, globalScope, invoke, max, min, precedence, prepended, prepended, prepended, prepended, prepended, prepended, substitute, toString, updated, updated, updated, updated, updated, updated, updated, updated, updated, updated, updated, updated, updatedAttr, updatedAttr, updatedAttr, updatedAttr, updatedAttr, updatedAttr, updatedAttr, updatedAttr, updatedAttr, updatedAttr, updatedAttr, updatedAttr, updatedSlot, updatedSlot, updatedSlot, updatedSlot, updatedSlot, updatedSlot, updatedSlot, updatedSlot, updatedSlot, updatedSlot, updatedSlot, updatedSlotMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.List
replaceAll, sort, spliterator
-
Field Details
-
scope
-
context
-
version
protected int version
-
-
Constructor Details
-
AbstractRecordStreamlet
-
AbstractRecordStreamlet
public AbstractRecordStreamlet()
-
-
Method Details
-
streamletScope
Description copied from interface:StreamletReturns the lexically scoped parent of thisStreamlet. Returnsnullif thisStreamlethas no lexical parent.- Specified by:
streamletScopein interfaceStreamlet<I extends Value,O extends Value> - Specified by:
streamletScopein interfaceStreamletScope<I extends Value>
-
setStreamletScope
Description copied from interface:StreamletSets the lexically scoped parent of thisStreamlet. -
streamletContext
Description copied from interface:StreamletReturns the environment in which thisStreamletoperates.- Specified by:
streamletContextin interfaceStreamlet<I extends Value,O extends Value> - Specified by:
streamletContextin interfaceStreamletScope<I extends Value>
-
setStreamletContext
Description copied from interface:StreamletSets the environment in which thisStreamletoperates. -
isEmpty
public boolean isEmpty()Description copied from class:RecordReturnstrueif thisRecordhas no members. -
size
public int size()Description copied from class:RecordReturns the number of members contained in thisRecord. -
containsKey
Description copied from class:RecordReturnstrueif thisRecordhas aFieldmember with a key that is equal to the givenkey; otherwise returnsfalseif thisRecordhas noFieldmember with a key equal to the givenkey.- Overrides:
containsKeyin classRecord
-
containsKey
Description copied from class:RecordReturnstrueif thisRecordhas aFieldmember with a key that is equal to the givenkey; otherwise returnsfalseif thisRecordhas noFieldmember with a key equal to the givenkey. Equivalent toRecord.containsKey(Value), but avoids boxing thekeystring into aTextvalue.- Overrides:
containsKeyin classRecord
-
get
Description copied from class:Record -
get
Description copied from class:RecordReturns the value of the lastFieldmember of thisRecordwhose key is equal to the givenkey; returnsAbsentif thisRecordhas noFieldmember with a key equal to the givenkey. Equivalent toRecord.get(Value), but avoids boxing thekeystring into aTextvalue. -
getAttr
Description copied from class:Record -
getAttr
Description copied from class:RecordReturns the value of the lastAttrmember of thisRecordwhose key is equal to the givenkey; returnsAbsentif thisRecordhas noAttrmember with a key equal to the givenkey. Equivalent toRecord.getAttr(Text), but avoids boxing thekeystring into aTextvalue. -
getSlot
Description copied from class:Record -
getSlot
Description copied from class:RecordReturns the value of the lastSlotmember of thisRecordwhose key is equal to the givenkey; returnsAbsentif thisRecordhas noSlotmember with a key equal to the givenkey. Equivalent toRecord.getSlot(Value), but avoids boxing thekeystring into aTextvalue. -
getField
Description copied from class:RecordReturns the lastFieldmember of thisRecordwhose key is equal to the givenkey; returnsnullif thisRecordhas noFieldmember with akeyequal to the givenkey. -
getField
Description copied from class:RecordReturns the lastFieldmember of thisRecordwhose key is equal to the givenkey; returnsnullif thisRecordhas noFieldmember with akeyequal to the givenkey. Equivalent toRecord.getField(Value), but avoids boxing thekeystring into aTextvalue. -
get
Description copied from class:RecordReturns the member of thisRecordat the givenindex, if theindexis greater than or equal to zero, and less than thelengthof thisRecord. -
getItem
Description copied from class:Record -
put
-
put
-
putAttr
-
putAttr
-
putSlot
-
putSlot
-
setItem
Description copied from class:RecordReplaces the member of thisRecordat the givenindexwith a newitem, returning the previousItemat the givenindex, if theindexis greater than or equal to zero, and less than thelengthof thisRecord. -
add
Description copied from interface:BuilderAdds a single input value to this builder, returningtrueif the state of the builder changed. -
add
-
remove
-
removeKey
-
removeKey
-
clear
public void clear() -
inlet
Description copied from interface:StreamletReturns theInletto thisStreamletidentified by the givenkey; returnsnullif thisStreamlethas no suchInlet. -
inlet
-
bindInput
Description copied from interface:StreamletConnects theInletof thisStreamlet, identified by the givenkey, to theinputfrom which theInletshould acquire its state. Delegates toInlet.bindInput(Outlet)on the identifiedInlet. -
unbindInput
Description copied from interface:StreamletDisconnects theInletof thisStreamlet, identified by the givenkey, from itsinputOutlet, if connected. Delegates toInlet.unbindInput()on the identifiedInlet. -
outlet
Description copied from interface:StreamletReturns theOutletof thisStreamletidentified by the givenkey; returnsnullif thisStreamlethas no suchOutlet. -
outlet
-
inoutlet
-
decohere
public void decohere()Description copied from interface:StreamletMarks thisStreamlet—and all of its outlets—as having inconsistent state. Decohering aStreamletwill recursively decohere all streamlets that transitively depend on the state of thisStreamlet. Decohering aStreamletdoes not cause its state to be recomputed. A subsequentStreamlet.recohere(int)call will eventually make the state of theStreamletcoherent again. -
recohere
public void recohere(int version) Description copied from interface:StreamletUpdates the state of thisStreamletto make it consistent with the targetversion. TheStreamletonly needs to update if its currentversiondiffers from the targetversion. To update its state, theStreamletfirst invokesInlet.recohereOutput(int)on each of its inlets, to ensure that its input states are coherent. It then recomputes its own state in an implementation defined manner. Finally, it invokesOutlet.recohereInput(int)on its outlets, causing all transitively dependent streamlets to make their own states coherent again. -
getInput
-
getInput
-
getInput
-
getInput
-
castInput
-
castInput
-
castInput
-
castInput
-
coerceInput
-
coerceInput
-
coerceInput
-
coerceInput
-
getOutput
-
getOutput
-
disconnectInputs
public void disconnectInputs()Description copied from interface:StreamletDisconnects allInlets dominated by thisStreamletin the dataflow dependency graph. Used to recursively clean up chains of combinators terminating at thisStreamlet. -
disconnectOutputs
public void disconnectOutputs()Description copied from interface:StreamletDisconnects allInletss dominated by thisStreamletin the dataflow graph. Used to recursively clean up chains of combinators originating from thisStreamlet. -
willDecohereInlet
- Specified by:
willDecohereInletin interfaceGenericStreamlet<I extends Value,O extends Value>
-
didDecohereInlet
- Specified by:
didDecohereInletin interfaceGenericStreamlet<I extends Value,O extends Value>
-
willRecohereInlet
- Specified by:
willRecohereInletin interfaceGenericStreamlet<I extends Value,O extends Value>
-
didRecohereInlet
- Specified by:
didRecohereInletin interfaceGenericStreamlet<I extends Value,O extends Value>
-
willDecohereOutlet
- Specified by:
willDecohereOutletin interfaceGenericStreamlet<I extends Value,O extends Value>
-
didDecohereOutlet
- Specified by:
didDecohereOutletin interfaceGenericStreamlet<I extends Value,O extends Value>
-
willRecohereOutlet
- Specified by:
willRecohereOutletin interfaceGenericStreamlet<I extends Value,O extends Value>
-
didRecohereOutlet
- Specified by:
didRecohereOutletin interfaceGenericStreamlet<I extends Value,O extends Value>
-
willDecohere
protected void willDecohere() -
onDecohere
protected void onDecohere() -
onDecohereOutlets
protected void onDecohereOutlets() -
didDecohere
protected void didDecohere() -
willRecohere
protected void willRecohere(int version) -
onRecohereInlets
protected void onRecohereInlets(int version) -
onRecohere
protected void onRecohere(int version) -
onRecohereOutlets
protected void onRecohereOutlets(int version) -
didRecohere
protected void didRecohere(int version) -
compileInlets
public static <I extends Value,O extends Value> void compileInlets(Class<?> streamletClass, RecordStreamlet<I, O> streamlet)
-