- java.lang.Object
-
- swim.structure.Item
-
- swim.structure.Value
-
- swim.structure.Record
-
- swim.dataflow.AbstractRecordOutlet
-
- swim.dataflow.RecordModel
-
- All Implemented Interfaces:
Comparable<Item>,Iterable<Item>,Collection<Item>,List<Item>,Debug,Display,RecordOutlet,MapOutlet<Value,Value,Record>,Outlet<Record>,StreamletScope<Value>,Builder<Item,Record>,PairBuilder<Value,Value,Record>
- Direct Known Subclasses:
RecordScope
public class RecordModel extends AbstractRecordOutlet
-
-
Field Summary
Fields Modifier and Type Field Description protected HashTrieMap<Value,RecordFieldUpdater>fieldUpdatersprotected Recordstate-
Fields inherited from class swim.dataflow.AbstractRecordOutlet
effects, outlets, outputs, version
-
-
Constructor Summary
Constructors Constructor Description RecordModel()RecordModel(Record state)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, Item item)booleanadd(Item item)Adds a single input value to this builder, returningtrueif the state of the builder changed.voidbindValue(Value key, Value expr)voidclear()voidcompile(Record record)voidcompileField(Field field, int index)voidcompileItem(Item item, int index)voidcompileValue(Value value, int index)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.booleancontainsOwnKey(Value key)static RecordModelcreate(Record record)voiddisconnectInputs()Disconnects allInlets dominated by thisOutletin the dataflow dependency graph.intfieldCount()Returns the number ofFieldmembers contained in thisRecord.Itemget(int index)Returns the member of thisRecordat the givenindex, if theindexis greater than or equal to zero, and less than thelengthof thisRecord.Valueget(Value key)ValuegetAttr(Text key)FieldgetField(Value key)Returns the lastFieldmember of thisRecordwhose key is equal to the givenkey; returnsnullif thisRecordhas noFieldmember with akeyequal to the givenkey.ItemgetItem(int index)ValuegetSlot(Value key)static RecordModelglobalScope()intindexOf(Object item)booleanisArray()booleanisEmpty()Returnstrueif thisRecordhas no members.booleanisObject()Iterator<Value>keyIterator()Returns anIteratorover the keys in the current state of thisMapOutlet.intlastIndexOf(Object item)voidmaterialize(Record record)voidmaterializeField(Field field)voidmaterializeItem(Item item)voidmaterializeValue(Value value)MapOutlet<Value,Value,Record>memoize()static RecordModelof()static RecordModelof(Object object)static RecordModelof(Object... objects)Valueput(String key, Value newValue)Valueput(Value key, Value newValue)ValueputAttr(String key, Value newValue)ValueputAttr(Text key, Value newValue)ValueputSlot(String key, Value newValue)ValueputSlot(Value key, Value newValue)voidreify()voidreify(Reifier reifier)ItemreifyItem(Item item, Reifier reifier)Itemremove(int index)ItemsetItem(int index, Item newItem)Replaces 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.intsize()Returns the number of members contained in thisRecord.RecordsubList(int fromIndex, int toIndex)intvalueCount()Returns the number ofValuemembers contained in thisRecord.-
Methods inherited from class swim.dataflow.AbstractRecordOutlet
bindOutput, decohereInput, decohereInputKey, didDecohereInput, didDecohereInputKey, didRecohereInput, didRecohereInputKey, disconnectOutputs, get, onDecohereInput, onDecohereInputKey, onRecohereInput, onRecohereInputKey, outlet, outlet, outputIterator, recohereInput, recohereInputKey, streamletContext, streamletScope, unbindOutput, unbindOutputs, willDecohereInput, willDecohereInputKey, willRecohereInput, willRecohereInputKey
-
Methods 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, containsKey, containsValue, create, create, debug, empty, entrySet, equals, evaluate, fieldIterator, fieldSet, flattened, get, getAttr, getField, getSlot, hashCode, head, header, headers, isAliased, isConstant, isDefinite, isMutable, item, item, item, item, item, item, item, iterator, keySet, length, listIterator, listIterator, 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, removeKey, removeKey, 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, substitute, tag, tail, target, toArray, toArray, typeOrder, unflattened, updated, updated, updatedAttr, updatedAttr, updatedSlot, updatedSlot, valueIterator, values
-
Methods 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, toValue
-
Methods inherited from class swim.structure.Item
appended, appended, appended, appended, appended, appended, cast, cast, coerce, coerce, display, evaluate, filter, filter, 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, updatedSlot
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.List
replaceAll, sort, spliterator
-
-
-
-
Field Detail
-
state
protected Record state
-
fieldUpdaters
protected HashTrieMap<Value,RecordFieldUpdater> fieldUpdaters
-
-
Constructor Detail
-
RecordModel
public RecordModel(Record state)
-
RecordModel
public RecordModel()
-
-
Method Detail
-
isEmpty
public boolean isEmpty()
Description copied from class:RecordReturnstrueif thisRecordhas no members.
-
isArray
public boolean isArray()
Description copied from class:Record
-
isObject
public boolean isObject()
Description copied from class:Record
-
size
public int size()
Description copied from class:RecordReturns the number of members contained in thisRecord.
-
fieldCount
public int fieldCount()
Description copied from class:RecordReturns the number ofFieldmembers contained in thisRecord.- Overrides:
fieldCountin classRecord
-
valueCount
public int valueCount()
Description copied from class:RecordReturns the number ofValuemembers contained in thisRecord.- Overrides:
valueCountin classRecord
-
containsKey
public boolean containsKey(Value key)
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.- Specified by:
containsKeyin interfaceMapOutlet<Value,Value,Record>- Overrides:
containsKeyin classRecord
-
containsOwnKey
public boolean containsOwnKey(Value key)
- Overrides:
containsOwnKeyin classAbstractRecordOutlet
-
indexOf
public int indexOf(Object item)
-
lastIndexOf
public int lastIndexOf(Object item)
- Specified by:
lastIndexOfin interfaceList<Item>- Overrides:
lastIndexOfin classRecord
-
getField
public Field getField(Value key)
Description copied from class:RecordReturns the lastFieldmember of thisRecordwhose key is equal to the givenkey; returnsnullif thisRecordhas noFieldmember with akeyequal to the givenkey.
-
get
public Item get(int index)
Description copied from class:RecordReturns the member of thisRecordat the givenindex, if theindexis greater than or equal to zero, and less than thelengthof thisRecord.
-
setItem
public Item setItem(int index, Item newItem)
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
public boolean add(Item item)
Description copied from interface:BuilderAdds a single input value to this builder, returningtrueif the state of the builder changed.
-
add
public void add(int index, Item item)
-
remove
public Item remove(int index)
-
clear
public void clear()
-
subList
public Record subList(int fromIndex, int toIndex)
-
keyIterator
public final Iterator<Value> keyIterator()
Description copied from interface:MapOutletReturns anIteratorover the keys in the current state of thisMapOutlet.- Specified by:
keyIteratorin interfaceMapOutlet<Value,Value,Record>- Specified by:
keyIteratorin classAbstractRecordOutlet
-
disconnectInputs
public void disconnectInputs()
Description copied from interface:OutletDisconnects allInlets dominated by thisOutletin the dataflow dependency graph. Used to recursively clean up chains of combinators passing through thisOutlet.- Specified by:
disconnectInputsin interfaceOutlet<Record>- Overrides:
disconnectInputsin classAbstractRecordOutlet
-
materialize
public void materialize(Record record)
-
materializeItem
public void materializeItem(Item item)
-
materializeField
public void materializeField(Field field)
-
materializeValue
public void materializeValue(Value value)
-
compile
public void compile(Record record)
-
compileItem
public void compileItem(Item item, int index)
-
compileField
public void compileField(Field field, int index)
-
compileValue
public void compileValue(Value value, int index)
-
reify
public void reify(Reifier reifier)
-
reify
public void reify()
-
create
public static RecordModel create(Record record)
-
of
public static RecordModel of()
-
of
public static RecordModel of(Object object)
-
of
public static RecordModel of(Object... objects)
-
globalScope
public static RecordModel globalScope()
-
-