Module swim.runtime

Class JoinValueLaneView<K,​V>

  • All Implemented Interfaces:
    Iterable<Map.Entry<K,​V>>, Map<K,​V>, swim.api.downlink.DownlinkFactory, swim.api.Lane, swim.api.lane.JoinValueLane<K,​V>, swim.api.ref.SwimRef, swim.api.warp.WarpLane, swim.observable.Observable<Object>, swim.observable.ObservableMap<K,​V>, CellContext, TierBinding, swim.util.Log

    public class JoinValueLaneView<K,​V>
    extends WarpLaneView
    implements swim.api.lane.JoinValueLane<K,​V>
    • Field Detail

      • agentContext

        protected final swim.api.agent.AgentContext agentContext
      • keyForm

        protected swim.structure.Form<K> keyForm
      • valueForm

        protected swim.structure.Form<V> valueForm
      • flags

        protected int flags
      • dataView

        protected swim.api.data.MapData<K,​V> dataView
    • Constructor Detail

      • JoinValueLaneView

        public JoinValueLaneView​(swim.api.agent.AgentContext agentContext,
                                 swim.structure.Form<K> keyForm,
                                 swim.structure.Form<V> valueForm)
    • Method Detail

      • agentContext

        public swim.api.agent.AgentContext agentContext()
        Specified by:
        agentContext in class LaneView
      • keyForm

        public final swim.structure.Form<K> keyForm()
        Specified by:
        keyForm in interface swim.api.lane.JoinValueLane<K,​V>
      • keyForm

        public <K2> JoinValueLaneView<K2,​V> keyForm​(swim.structure.Form<K2> keyForm)
        Specified by:
        keyForm in interface swim.api.lane.JoinValueLane<K,​V>
      • keyClass

        public <K2> JoinValueLaneView<K2,​V> keyClass​(Class<K2> keyClass)
        Specified by:
        keyClass in interface swim.api.lane.JoinValueLane<K,​V>
      • setKeyForm

        public void setKeyForm​(swim.structure.Form<K> keyForm)
      • valueForm

        public final swim.structure.Form<V> valueForm()
        Specified by:
        valueForm in interface swim.api.lane.JoinValueLane<K,​V>
      • valueForm

        public <V2> JoinValueLaneView<K,​V2> valueForm​(swim.structure.Form<V2> valueForm)
        Specified by:
        valueForm in interface swim.api.lane.JoinValueLane<K,​V>
      • valueClass

        public <V2> JoinValueLaneView<K,​V2> valueClass​(Class<V2> valueClass)
        Specified by:
        valueClass in interface swim.api.lane.JoinValueLane<K,​V>
      • setValueForm

        public void setValueForm​(swim.structure.Form<V> valueForm)
      • typesafeObservers

        protected Object typesafeObservers​(Object observers)
      • isResident

        public final boolean isResident()
        Specified by:
        isResident in interface swim.api.lane.JoinValueLane<K,​V>
      • isResident

        public JoinValueLaneView<K,​V> isResident​(boolean isResident)
        Specified by:
        isResident in interface swim.api.lane.JoinValueLane<K,​V>
      • isTransient

        public final boolean isTransient()
        Specified by:
        isTransient in interface swim.api.lane.JoinValueLane<K,​V>
      • isTransient

        public JoinValueLaneView<K,​V> isTransient​(boolean isTransient)
        Specified by:
        isTransient in interface swim.api.lane.JoinValueLane<K,​V>
      • close

        public void close()
        Specified by:
        close in interface swim.api.Lane
        Specified by:
        close in interface swim.api.ref.SwimRef
        Specified by:
        close in interface TierBinding
        Specified by:
        close in class LaneView
      • observe

        public JoinValueLaneView<K,​V> observe​(Object observer)
        Specified by:
        observe in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        observe in interface swim.api.Lane
        Specified by:
        observe in interface swim.observable.Observable<K>
        Specified by:
        observe in interface swim.observable.ObservableMap<K,​V>
        Specified by:
        observe in interface swim.api.warp.WarpLane
        Overrides:
        observe in class WarpLaneView
      • unobserve

        public JoinValueLaneView<K,​V> unobserve​(Object observer)
        Specified by:
        unobserve in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        unobserve in interface swim.api.Lane
        Specified by:
        unobserve in interface swim.observable.Observable<K>
        Specified by:
        unobserve in interface swim.observable.ObservableMap<K,​V>
        Specified by:
        unobserve in interface swim.api.warp.WarpLane
        Overrides:
        unobserve in class WarpLaneView
      • willDownlink

        public JoinValueLaneView<K,​V> willDownlink​(swim.api.lane.function.WillDownlinkValue<K> willDownlink)
        Specified by:
        willDownlink in interface swim.api.lane.JoinValueLane<K,​V>
      • didDownlink

        public JoinValueLaneView<K,​V> didDownlink​(swim.api.lane.function.DidDownlinkValue<K> didDownlink)
        Specified by:
        didDownlink in interface swim.api.lane.JoinValueLane<K,​V>
      • willUpdate

        public JoinValueLaneView<K,​V> willUpdate​(swim.observable.function.WillUpdateKey<K,​V> willUpdate)
        Specified by:
        willUpdate in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        willUpdate in interface swim.observable.ObservableMap<K,​V>
      • didUpdate

        public JoinValueLaneView<K,​V> didUpdate​(swim.observable.function.DidUpdateKey<K,​V> didUpdate)
        Specified by:
        didUpdate in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        didUpdate in interface swim.observable.ObservableMap<K,​V>
      • willRemove

        public JoinValueLaneView<K,​V> willRemove​(swim.observable.function.WillRemoveKey<K> willRemove)
        Specified by:
        willRemove in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        willRemove in interface swim.observable.ObservableMap<K,​V>
      • didRemove

        public JoinValueLaneView<K,​V> didRemove​(swim.observable.function.DidRemoveKey<K,​V> didRemove)
        Specified by:
        didRemove in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        didRemove in interface swim.observable.ObservableMap<K,​V>
      • willClear

        public JoinValueLaneView<K,​V> willClear​(swim.observable.function.WillClear willClear)
        Specified by:
        willClear in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        willClear in interface swim.observable.ObservableMap<K,​V>
      • didClear

        public JoinValueLaneView<K,​V> didClear​(swim.observable.function.DidClear didClear)
        Specified by:
        didClear in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        didClear in interface swim.observable.ObservableMap<K,​V>
      • willCommand

        public JoinValueLaneView<K,​V> willCommand​(swim.api.warp.function.WillCommand willCommand)
        Specified by:
        willCommand in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        willCommand in interface swim.api.warp.WarpLane
        Specified by:
        willCommand in class WarpLaneView
      • didCommand

        public JoinValueLaneView<K,​V> didCommand​(swim.api.warp.function.DidCommand didCommand)
        Specified by:
        didCommand in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        didCommand in interface swim.api.warp.WarpLane
        Specified by:
        didCommand in class WarpLaneView
      • willUplink

        public JoinValueLaneView<K,​V> willUplink​(swim.api.warp.function.WillUplink willUplink)
        Specified by:
        willUplink in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        willUplink in interface swim.api.warp.WarpLane
        Specified by:
        willUplink in class WarpLaneView
      • didUplink

        public JoinValueLaneView<K,​V> didUplink​(swim.api.warp.function.DidUplink didUplink)
        Specified by:
        didUplink in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        didUplink in interface swim.api.warp.WarpLane
        Specified by:
        didUplink in class WarpLaneView
      • willEnter

        public JoinValueLaneView<K,​V> willEnter​(swim.api.warp.function.WillEnter willEnter)
        Specified by:
        willEnter in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        willEnter in interface swim.api.warp.WarpLane
        Specified by:
        willEnter in class WarpLaneView
      • didEnter

        public JoinValueLaneView<K,​V> didEnter​(swim.api.warp.function.DidEnter didEnter)
        Specified by:
        didEnter in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        didEnter in interface swim.api.warp.WarpLane
        Specified by:
        didEnter in class WarpLaneView
      • willLeave

        public JoinValueLaneView<K,​V> willLeave​(swim.api.warp.function.WillLeave willLeave)
        Specified by:
        willLeave in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        willLeave in interface swim.api.warp.WarpLane
        Specified by:
        willLeave in class WarpLaneView
      • didLeave

        public JoinValueLaneView<K,​V> didLeave​(swim.api.warp.function.DidLeave didLeave)
        Specified by:
        didLeave in interface swim.api.lane.JoinValueLane<K,​V>
        Specified by:
        didLeave in interface swim.api.warp.WarpLane
        Specified by:
        didLeave in class WarpLaneView
      • dispatchWillUpdate

        public Map.Entry<Boolean,​V> dispatchWillUpdate​(swim.api.Link link,
                                                             K key,
                                                             V newValue,
                                                             boolean preemptive)
      • dispatchDidUpdate

        public boolean dispatchDidUpdate​(swim.api.Link link,
                                         K key,
                                         V newValue,
                                         V oldValue,
                                         boolean preemptive)
      • dispatchWillRemove

        public boolean dispatchWillRemove​(swim.api.Link link,
                                          K key,
                                          boolean preemptive)
      • dispatchDidRemove

        public boolean dispatchDidRemove​(swim.api.Link link,
                                         K key,
                                         V oldValue,
                                         boolean preemptive)
      • dispatchWillClear

        public boolean dispatchWillClear​(swim.api.Link link,
                                         boolean preemptive)
      • dispatchDidClear

        public boolean dispatchDidClear​(swim.api.Link link,
                                        boolean preemptive)
      • dispatchWillDownlink

        public Map.Entry<Boolean,​swim.api.downlink.ValueDownlink<?>> dispatchWillDownlink​(K key,
                                                                                                swim.api.downlink.ValueDownlink<?> downlink,
                                                                                                boolean preemptive)
      • dispatchDidDownlink

        public boolean dispatchDidDownlink​(K key,
                                           swim.api.downlink.ValueDownlink<?> downlink,
                                           boolean preemptive)
      • laneWillDownlink

        public swim.api.downlink.ValueDownlink<V> laneWillDownlink​(K key,
                                                                   swim.api.downlink.ValueDownlink<V> downlink)
      • laneDidDownlink

        public void laneDidDownlink​(K key,
                                    swim.api.downlink.ValueDownlink<V> downlink)
      • laneWillUpdate

        public V laneWillUpdate​(K key,
                                V newValue)
      • laneDidUpdate

        public void laneDidUpdate​(K key,
                                  V newValue,
                                  V oldValue)
      • laneWillRemove

        public void laneWillRemove​(K key)
      • laneDidRemove

        public void laneDidRemove​(K key,
                                  V oldValue)
      • laneWillClear

        public void laneWillClear()
      • laneDidClear

        public void laneDidClear()
      • downlink

        public swim.api.downlink.ValueDownlink<V> downlink​(K key)
        Specified by:
        downlink in interface swim.api.lane.JoinValueLane<K,​V>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface Map<K,​V>
      • size

        public int size()
        Specified by:
        size in interface Map<K,​V>
      • containsKey

        public boolean containsKey​(Object key)
        Specified by:
        containsKey in interface Map<K,​V>
      • get

        public V get​(Object key)
        Specified by:
        get in interface Map<K,​V>
      • getDownlink

        public swim.api.downlink.ValueDownlink<?> getDownlink​(Object key)
        Specified by:
        getDownlink in interface swim.api.lane.JoinValueLane<K,​V>
      • put

        public V put​(K key,
                     V value)
        Specified by:
        put in interface Map<K,​V>
      • putAll

        public void putAll​(Map<? extends K,​? extends V> map)
        Specified by:
        putAll in interface Map<K,​V>
      • remove

        public V remove​(Object key)
        Specified by:
        remove in interface Map<K,​V>
      • clear

        public void clear()
        Specified by:
        clear in interface Map<K,​V>
      • keySet

        public Set<K> keySet()
        Specified by:
        keySet in interface Map<K,​V>
      • keyIterator

        public Iterator<K> keyIterator()
        Specified by:
        keyIterator in interface swim.api.lane.JoinValueLane<K,​V>
      • valueIterator

        public Iterator<V> valueIterator()
        Specified by:
        valueIterator in interface swim.api.lane.JoinValueLane<K,​V>
      • downlinkIterator

        public Iterator<Map.Entry<K,​swim.api.downlink.ValueDownlink<?>>> downlinkIterator()
        Specified by:
        downlinkIterator in interface swim.api.lane.JoinValueLane<K,​V>