Module swim.runtime

Class JoinMapLaneView<L,​K,​V>

  • All Implemented Interfaces:
    Iterable<Map.Entry<K,​V>>, Map<K,​V>, swim.api.http.HttpLane<Object>, swim.api.lane.JoinMapLane<L,​K,​V>, swim.api.lane.Lane, swim.observable.Observable<Object>, swim.observable.ObservableMap<K,​V>, swim.util.Log

    public class JoinMapLaneView<L,​K,​V>
    extends LaneView
    implements swim.api.lane.JoinMapLane<L,​K,​V>
    • Field Detail

      • agentContext

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

        protected swim.structure.Form<L> linkForm
      • 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

      • JoinMapLaneView

        public JoinMapLaneView​(swim.api.agent.AgentContext agentContext,
                               swim.structure.Form<L> linkForm,
                               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
      • linkForm

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

        public <L2> JoinMapLaneView<L2,​K,​V> linkForm​(swim.structure.Form<L2> linkForm)
        Specified by:
        linkForm in interface swim.api.lane.JoinMapLane<L,​K,​V>
      • linkClass

        public <L2> JoinMapLaneView<L2,​K,​V> linkClass​(Class<L2> linkClass)
        Specified by:
        linkClass in interface swim.api.lane.JoinMapLane<L,​K,​V>
      • setLinkForm

        public void setLinkForm​(swim.structure.Form<L> linkForm)
      • keyForm

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

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

        public <K2> JoinMapLaneView<L,​K2,​V> keyClass​(Class<K2> keyClass)
        Specified by:
        keyClass in interface swim.api.lane.JoinMapLane<L,​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.JoinMapLane<L,​K,​V>
      • valueForm

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

        public <V2> JoinMapLaneView<L,​K,​V2> valueClass​(Class<V2> valueClass)
        Specified by:
        valueClass in interface swim.api.lane.JoinMapLane<L,​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.JoinMapLane<L,​K,​V>
      • isResident

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

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

        public JoinMapLaneView<L,​K,​V> isTransient​(boolean isTransient)
        Specified by:
        isTransient in interface swim.api.lane.JoinMapLane<L,​K,​V>
      • isSigned

        public final boolean isSigned()
        Specified by:
        isSigned in interface swim.api.lane.Lane
      • isSigned

        public JoinMapLaneView<L,​K,​V> isSigned​(boolean isSigned)
        Specified by:
        isSigned in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        isSigned in interface swim.api.lane.Lane
      • close

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

        public JoinMapLaneView<L,​K,​V> observe​(Object observer)
        Specified by:
        observe in interface swim.api.http.HttpLane<L>
        Specified by:
        observe in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        observe in interface swim.api.lane.Lane
        Specified by:
        observe in interface swim.observable.Observable<L>
        Specified by:
        observe in interface swim.observable.ObservableMap<L,​K>
        Overrides:
        observe in class LaneView
      • unobserve

        public JoinMapLaneView<L,​K,​V> unobserve​(Object observer)
        Specified by:
        unobserve in interface swim.api.http.HttpLane<L>
        Specified by:
        unobserve in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        unobserve in interface swim.api.lane.Lane
        Specified by:
        unobserve in interface swim.observable.Observable<L>
        Specified by:
        unobserve in interface swim.observable.ObservableMap<L,​K>
        Overrides:
        unobserve in class LaneView
      • willDownlink

        public JoinMapLaneView<L,​K,​V> willDownlink​(swim.api.lane.function.WillDownlinkMap<L> willDownlink)
        Specified by:
        willDownlink in interface swim.api.lane.JoinMapLane<L,​K,​V>
      • didDownlink

        public JoinMapLaneView<L,​K,​V> didDownlink​(swim.api.lane.function.DidDownlinkMap<L> didDownlink)
        Specified by:
        didDownlink in interface swim.api.lane.JoinMapLane<L,​K,​V>
      • willUpdate

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

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

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

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

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

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

        public JoinMapLaneView<L,​K,​V> willCommand​(swim.api.lane.function.WillCommand willCommand)
        Specified by:
        willCommand in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        willCommand in interface swim.api.lane.Lane
        Specified by:
        willCommand in class LaneView
      • didCommand

        public JoinMapLaneView<L,​K,​V> didCommand​(swim.api.lane.function.DidCommand didCommand)
        Specified by:
        didCommand in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        didCommand in interface swim.api.lane.Lane
        Specified by:
        didCommand in class LaneView
      • willUplink

        public JoinMapLaneView<L,​K,​V> willUplink​(swim.api.lane.function.WillUplink willUplink)
        Specified by:
        willUplink in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        willUplink in interface swim.api.lane.Lane
        Specified by:
        willUplink in class LaneView
      • didUplink

        public JoinMapLaneView<L,​K,​V> didUplink​(swim.api.lane.function.DidUplink didUplink)
        Specified by:
        didUplink in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        didUplink in interface swim.api.lane.Lane
        Specified by:
        didUplink in class LaneView
      • willEnter

        public JoinMapLaneView<L,​K,​V> willEnter​(swim.api.lane.function.WillEnter willEnter)
        Specified by:
        willEnter in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        willEnter in interface swim.api.lane.Lane
        Specified by:
        willEnter in class LaneView
      • didEnter

        public JoinMapLaneView<L,​K,​V> didEnter​(swim.api.lane.function.DidEnter didEnter)
        Specified by:
        didEnter in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        didEnter in interface swim.api.lane.Lane
        Specified by:
        didEnter in class LaneView
      • willLeave

        public JoinMapLaneView<L,​K,​V> willLeave​(swim.api.lane.function.WillLeave willLeave)
        Specified by:
        willLeave in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        willLeave in interface swim.api.lane.Lane
        Specified by:
        willLeave in class LaneView
      • didLeave

        public JoinMapLaneView<L,​K,​V> didLeave​(swim.api.lane.function.DidLeave didLeave)
        Specified by:
        didLeave in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        didLeave in interface swim.api.lane.Lane
        Specified by:
        didLeave in class LaneView
      • decodeRequest

        public JoinMapLaneView<L,​K,​V> decodeRequest​(swim.api.http.function.DecodeRequestHttp<Object> decodeRequest)
        Specified by:
        decodeRequest in interface swim.api.http.HttpLane<L>
        Specified by:
        decodeRequest in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        decodeRequest in interface swim.api.lane.Lane
        Specified by:
        decodeRequest in class LaneView
      • willRequest

        public JoinMapLaneView<L,​K,​V> willRequest​(swim.api.http.function.WillRequestHttp<?> willRequest)
        Specified by:
        willRequest in interface swim.api.http.HttpLane<L>
        Specified by:
        willRequest in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        willRequest in interface swim.api.lane.Lane
        Specified by:
        willRequest in class LaneView
      • didRequest

        public JoinMapLaneView<L,​K,​V> didRequest​(swim.api.http.function.DidRequestHttp<Object> didRequest)
        Specified by:
        didRequest in interface swim.api.http.HttpLane<L>
        Specified by:
        didRequest in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        didRequest in interface swim.api.lane.Lane
        Specified by:
        didRequest in class LaneView
      • doRespond

        public JoinMapLaneView<L,​K,​V> doRespond​(swim.api.http.function.DoRespondHttp<Object> doRespond)
        Specified by:
        doRespond in interface swim.api.http.HttpLane<L>
        Specified by:
        doRespond in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        doRespond in interface swim.api.lane.Lane
        Specified by:
        doRespond in class LaneView
      • willRespond

        public JoinMapLaneView<L,​K,​V> willRespond​(swim.api.http.function.WillRespondHttp<?> willRespond)
        Specified by:
        willRespond in interface swim.api.http.HttpLane<L>
        Specified by:
        willRespond in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        willRespond in interface swim.api.lane.Lane
        Specified by:
        willRespond in class LaneView
      • didRespond

        public JoinMapLaneView<L,​K,​V> didRespond​(swim.api.http.function.DidRespondHttp<?> didRespond)
        Specified by:
        didRespond in interface swim.api.http.HttpLane<L>
        Specified by:
        didRespond in interface swim.api.lane.JoinMapLane<L,​K,​V>
        Specified by:
        didRespond in interface swim.api.lane.Lane
        Specified by:
        didRespond in class LaneView
      • dispatchWillUpdate

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

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

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

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

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

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

        protected Map.Entry<Boolean,​swim.api.downlink.MapDownlink<?,​?>> dispatchWillDownlink​(L key,
                                                                                                         swim.api.downlink.MapDownlink<?,​?> downlink,
                                                                                                         boolean preemptive)
      • dispatchDidDownlink

        protected boolean dispatchDidDownlink​(L key,
                                              swim.api.downlink.MapDownlink<?,​?> downlink,
                                              boolean preemptive)
      • laneWillDownlink

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

        public void laneDidDownlink​(K key,
                                    swim.api.downlink.MapDownlink<K,​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.MapDownlink<K,​V> downlink​(L key)
        Specified by:
        downlink in interface swim.api.lane.JoinMapLane<L,​K,​V>
      • isEmpty

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

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

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

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

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

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

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

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

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

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

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

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

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