Class AbstractMapOutlet<K,​V,​O>

  • All Implemented Interfaces:
    MapOutlet<K,​V,​O>, Outlet<O>
    Direct Known Subclasses:
    MapInput

    public abstract class AbstractMapOutlet<K,​V,​O>
    extends Object
    implements MapOutlet<K,​V,​O>
    • Constructor Detail

      • AbstractMapOutlet

        public AbstractMapOutlet()
    • Method Detail

      • containsKey

        public abstract boolean containsKey​(K key)
        Description copied from interface: MapOutlet
        Returns true if the current state of this MapOutlet contains the given key; otherwise returns false.
        Specified by:
        containsKey in interface MapOutlet<K,​V,​O>
      • get

        public abstract V get​(K key)
        Description copied from interface: MapOutlet
        Returns the value assocaited with the given key in the current state of this MapOutlet, if defined; otherwise returns null.
        Specified by:
        get in interface MapOutlet<K,​V,​O>
      • get

        public abstract O get()
        Description copied from interface: Outlet
        Returns the current state of this Outlet.
        Specified by:
        get in interface Outlet<K>
      • keyIterator

        public abstract Iterator<K> keyIterator()
        Description copied from interface: MapOutlet
        Returns an Iterator over the keys in the current state of this MapOutlet.
        Specified by:
        keyIterator in interface MapOutlet<K,​V,​O>
      • outlet

        public Outlet<V> outlet​(K key)
        Description copied from interface: MapOutlet
        Returns an Outlet that updates when the specified key updates.
        Specified by:
        outlet in interface MapOutlet<K,​V,​O>
      • outputIterator

        public Iterator<Inlet<? super O>> outputIterator()
        Description copied from interface: Outlet
        Returns an Iterator over the set of Inlets that depend on the state of this Outlet.
        Specified by:
        outputIterator in interface Outlet<K>
      • bindOutput

        public void bindOutput​(Inlet<? super O> output)
        Description copied from interface: Outlet
        Adds an output to the set of Inlets that depend on the state of this Outlet. The output will be decohered when the state of this Outlet is decohered, and recohered when this Outlet is recohered.
        Specified by:
        bindOutput in interface Outlet<K>
      • unbindOutput

        public void unbindOutput​(Inlet<? super O> output)
        Description copied from interface: Outlet
        Removes an output from the set of Inlets that depend on the state of this Outlet.
        Specified by:
        unbindOutput in interface Outlet<K>
      • unbindOutputs

        public void unbindOutputs()
        Description copied from interface: Outlet
        Disconnects all outputs from this Outlet by invoking Inlet.unbindInput() on each Inelt that depends on the state of this Outlet.
        Specified by:
        unbindOutputs in interface Outlet<K>
      • disconnectOutputs

        public void disconnectOutputs()
        Description copied from interface: Outlet
        Disconnects all Outlets dominated by this Outlet in the dataflow graph. Used to recursively clean up chains of combinators originating from this Inlet.
        Specified by:
        disconnectOutputs in interface Outlet<K>
      • disconnectInputs

        public void disconnectInputs()
        Description copied from interface: Outlet
        Disconnects all Inlets dominated by this Outlet in the dataflow dependency graph. Used to recursively clean up chains of combinators passing through this Outlet.
        Specified by:
        disconnectInputs in interface Outlet<K>
      • decohereInputKey

        public void decohereInputKey​(K key,
                                     KeyEffect effect)
        Description copied from interface: MapOutlet
        Marks this MapOutlet as needing an effect applied to a given key. Decohering an individual key decoheres the entire state of the Outlet. But only the decoherent keys need to be updated in order to recohere the overall state of the Outlet.
        Specified by:
        decohereInputKey in interface MapOutlet<K,​V,​O>
      • decohereInput

        public void decohereInput()
        Description copied from interface: Outlet
        Marks this Outlet—and all outputs that depend on the state of this Outlet—as having decoherent state.
        Specified by:
        decohereInput in interface Outlet<K>
      • recohereInputKey

        public void recohereInputKey​(K key,
                                     int version)
        Description copied from interface: MapOutlet
        Updates the state of an individual key in this MapOutlet to make it consistent with the target version. The MapOutlet only needs to update if its current version differs from the target version. To update the state of a key, the MapOutlet first invokes Streamlet.recohere(int) on its attached streamlets. Then, for each dependent output, it invokes MapInlet.recohereOutputKey(Object, int), if the dependent output is a MapInlet, or it invokes Inlet.recohereOutput(int), if the dependent output is not a MapInlet.
        Specified by:
        recohereInputKey in interface MapOutlet<K,​V,​O>
      • recohereInput

        public void recohereInput​(int version)
        Description copied from interface: Outlet
        Updates the state of this Outlet to make it consistent with the target version. The Outlet only needs to update if its current version differs from the target version. To update its state, the Outlet first invokes Streamlet.recohere(int) on the Streamlet to which it's attached. It then invokes Inlet.recohereOutput(int) on each of its dependent outputs.
        Specified by:
        recohereInput in interface Outlet<K>
      • willDecohereInputKey

        protected void willDecohereInputKey​(K key,
                                            KeyEffect effect)
      • onDecohereInputKey

        protected void onDecohereInputKey​(K key,
                                          KeyEffect effect)
      • didDecohereInputKey

        protected void didDecohereInputKey​(K key,
                                           KeyEffect effect)
      • willDecohereInput

        protected void willDecohereInput()
      • onDecohereInput

        protected void onDecohereInput()
      • didDecohereInput

        protected void didDecohereInput()
      • willRecohereInputKey

        protected void willRecohereInputKey​(K key,
                                            KeyEffect effect,
                                            int version)
      • onRecohereInputKey

        protected void onRecohereInputKey​(K key,
                                          KeyEffect effect,
                                          int version)
      • didRecohereInputKey

        protected void didRecohereInputKey​(K key,
                                           KeyEffect effect,
                                           int version)
      • willRecohereInput

        protected void willRecohereInput​(int version)
      • onRecohereInput

        protected void onRecohereInput​(int version)
      • didRecohereInput

        protected void didRecohereInput​(int version)