Package swim.dataflow

Class AbstractRecordStreamlet<I extends Value,​O extends Value>

    • Constructor Detail

      • AbstractRecordStreamlet

        public AbstractRecordStreamlet​(StreamletScope<? extends O> scope)
      • AbstractRecordStreamlet

        public AbstractRecordStreamlet()
    • Method Detail

      • size

        public int size()
        Description copied from class: Record
        Returns the number of members contained in this Record.
        Specified by:
        size in interface Collection<I extends Value>
        Specified by:
        size in interface List<I extends Value>
        Specified by:
        size in class Record
      • containsKey

        public boolean containsKey​(Value key)
        Description copied from class: Record
        Returns true if this Record has a Field member with a key that is equal to the given key; otherwise returns false if this Record has no Field member with a key equal to the given key.
        Overrides:
        containsKey in class Record
      • containsKey

        public boolean containsKey​(String key)
        Description copied from class: Record
        Returns true if this Record has a Field member with a key that is equal to the given key; otherwise returns false if this Record has no Field member with a key equal to the given key. Equivalent to Record.containsKey(Value), but avoids boxing the key string into a Text value.
        Overrides:
        containsKey in class Record
      • get

        public Value get​(Value key)
        Description copied from class: Record
        Returns the value of the last Field member of this Record whose key is equal to the given key; returns Absent if this Record has no Field member with a key equal to the given key.
        Overrides:
        get in class Record
      • get

        public Value get​(String key)
        Description copied from class: Record
        Returns the value of the last Field member of this Record whose key is equal to the given key; returns Absent if this Record has no Field member with a key equal to the given key. Equivalent to Record.get(Value), but avoids boxing the key string into a Text value.
        Overrides:
        get in class Record
      • getAttr

        public Value getAttr​(Text key)
        Description copied from class: Record
        Returns the value of the last Attr member of this Record whose key is equal to the given key; returns Absent if this Record has no Attr member with a key equal to the given key.
        Overrides:
        getAttr in class Record
      • getAttr

        public Value getAttr​(String key)
        Description copied from class: Record
        Returns the value of the last Attr member of this Record whose key is equal to the given key; returns Absent if this Record has no Attr member with a key equal to the given key. Equivalent to Record.getAttr(Text), but avoids boxing the key string into a Text value.
        Overrides:
        getAttr in class Record
      • getSlot

        public Value getSlot​(Value key)
        Description copied from class: Record
        Returns the value of the last Slot member of this Record whose key is equal to the given key; returns Absent if this Record has no Slot member with a key equal to the given key.
        Overrides:
        getSlot in class Record
      • getSlot

        public Value getSlot​(String key)
        Description copied from class: Record
        Returns the value of the last Slot member of this Record whose key is equal to the given key; returns Absent if this Record has no Slot member with a key equal to the given key. Equivalent to Record.getSlot(Value), but avoids boxing the key string into a Text value.
        Overrides:
        getSlot in class Record
      • getField

        public Field getField​(Value key)
        Description copied from class: Record
        Returns the last Field member of this Record whose key is equal to the given key; returns null if this Record has no Field member with a key equal to the given key.
        Overrides:
        getField in class Record
      • getField

        public Field getField​(String key)
        Description copied from class: Record
        Returns the last Field member of this Record whose key is equal to the given key; returns null if this Record has no Field member with a key equal to the given key. Equivalent to Record.getField(Value), but avoids boxing the key string into a Text value.
        Overrides:
        getField in class Record
      • get

        public Item get​(int index)
        Description copied from class: Record
        Returns the member of this Record at the given index, if the index is greater than or equal to zero, and less than the length of this Record.
        Specified by:
        get in interface List<I extends Value>
        Specified by:
        get in class Record
      • getItem

        public Item getItem​(int index)
        Description copied from class: Record
        Returns the member of this Record at the given index, if the index is greater than or equal to zero, and less than the length of this Record; otherwise returns Absent if the index is out of bounds.
        Specified by:
        getItem in class Record
      • setItem

        public Item setItem​(int index,
                            Item item)
        Description copied from class: Record
        Replaces the member of this Record at the given index with a new item, returning the previous Item at the given index, if the index is greater than or equal to zero, and less than the length of this Record.
        Specified by:
        setItem in class Record
      • add

        public boolean add​(Item item)
        Description copied from interface: Builder
        Adds a single input value to this builder, returning true if the state of the builder changed.
        Specified by:
        add in interface Builder<I extends Value,​O extends Value>
        Specified by:
        add in interface Collection<I extends Value>
        Specified by:
        add in interface List<I extends Value>
        Specified by:
        add in class Record
      • add

        public void add​(int index,
                        Item item)
        Specified by:
        add in interface List<I extends Value>
        Specified by:
        add in class Record
      • inlet

        public Inlet<I> inlet​(String key)
        Description copied from interface: Streamlet
        Returns the Inlet to this Streamlet identified by the given key; returns null if this Streamlet has no such Inlet.
        Specified by:
        inlet in interface Streamlet<I extends Value,​O extends Value>
      • inlet

        protected <I2 extends IInlet<I2> inlet()
      • bindInput

        public void bindInput​(String key,
                              Outlet<? extends I> input)
        Description copied from interface: Streamlet
        Connects the Inlet of this Streamlet, identified by the given key, to the input from which the Inlet should acquire its state. Delegates to Inlet.bindInput(Outlet) on the identified Inlet.
        Specified by:
        bindInput in interface Streamlet<I extends Value,​O extends Value>
      • outlet

        protected <O2 extends ValueOutlet<O2> outlet()
      • inoutlet

        protected <I2 extends I,​O2> Inoutlet<I2,​O2> inoutlet()
      • invalidate

        public void invalidate()
        Description copied from interface: Streamlet
        Marks this Streamlet—and all of its outlets—as having stale state. Invalidating a Streamlet will recursively invalidate all streamlets that transitively depend on the state of this Streamlet. Invalidating a Streamlet does not cause its state to be recomputed. A subsequent Streamlet.reconcile(int) call will reconcile the state of the Streamlet.
        Specified by:
        invalidate in interface Streamlet<I extends Value,​O extends Value>
      • reconcile

        public void reconcile​(int version)
        Description copied from interface: Streamlet
        Reconciles the state of this Streamlet, if the version of this Streamlet's state differs from the target version. To reconcile its state, the Streamlet first invokes Inlet.reconcileOutput(int) on each of its inlets, to ensure that its input states are up-to-date. It then recomputes its own state, in an implementation defined manner. Finally, it invokes Outlet.reconcileInput(int) on its outlets, causing all transitively dependent streamlets to reconcile their own state.
        Specified by:
        reconcile in interface Streamlet<I extends Value,​O extends Value>
      • getInput

        public <I2 extends I> I2 getInput​(Inlet<I2> inlet)
      • getInput

        public <I2 extends I> I2 getInput​(String key)
      • getInput

        public <I2 extends I> I2 getInput​(Inlet<I2> inlet,
                                          I2 orElse)
      • getInput

        public <I2 extends I> I2 getInput​(String key,
                                          I2 orElse)
      • castInput

        public <T> T castInput​(Inlet<? extends I> inlet,
                               Form<T> form)
      • castInput

        public <T> T castInput​(String key,
                               Form<T> form)
      • castInput

        public <T> T castInput​(Inlet<? extends I> inlet,
                               Form<T> form,
                               T orElse)
      • castInput

        public <T> T castInput​(String key,
                               Form<T> form,
                               T orElse)
      • coerceInput

        public <T> T coerceInput​(Inlet<? extends I> inlet,
                                 Form<T> form)
      • coerceInput

        public <T> T coerceInput​(String key,
                                 Form<T> form)
      • coerceInput

        public <T> T coerceInput​(Inlet<? extends I> inlet,
                                 Form<T> form,
                                 T orElse)
      • coerceInput

        public <T> T coerceInput​(String key,
                                 Form<T> form,
                                 T orElse)
      • getOutput

        public O getOutput​(String key)
      • disconnectInputs

        public void disconnectInputs()
        Description copied from interface: Streamlet
        Disconnects all Inlets dominated by this Streamlet in the dataflow dependency graph. Used to recursively clean up chains of combinators terminating at this Streamlet.
        Specified by:
        disconnectInputs in interface Streamlet<I extends Value,​O extends Value>
      • disconnectOutputs

        public void disconnectOutputs()
        Description copied from interface: Streamlet
        Disconnects all Inletss dominated by this Streamlet in the dataflow graph. Used to recursively clean up chains of combinators originating from this Streamlet.
        Specified by:
        disconnectOutputs in interface Streamlet<I extends Value,​O extends Value>
      • willInvalidate

        protected void willInvalidate()
      • onInvalidate

        protected void onInvalidate()
      • onInvalidateOutlets

        protected void onInvalidateOutlets()
      • didInvalidate

        protected void didInvalidate()
      • willReconcile

        protected void willReconcile​(int version)
      • onReconcileInlets

        protected void onReconcileInlets​(int version)
      • onReconcile

        protected void onReconcile​(int version)
      • onReconcileOutlets

        protected void onReconcileOutlets​(int version)
      • didReconcile

        protected void didReconcile​(int version)
      • compileInlets

        public static <I extends Value,​O extends Value> void compileInlets​(Class<?> streamletClass,
                                                                                 RecordStreamlet<I,​O> streamlet)