Class SessionMap

  • All Implemented Interfaces:
    org.openqa.selenium.remote.http.HttpHandler, org.openqa.selenium.remote.http.Routable, HasReadyState
    Direct Known Subclasses:
    LocalSessionMap, NullSessionMap, RemoteSessionMap

    public abstract class SessionMap
    extends java.lang.Object
    implements HasReadyState, org.openqa.selenium.remote.http.Routable
    Provides a stable API for looking up where on the Grid a particular webdriver instance is running.

    This class responds to the following URLs:

    Verb URL Template Meaning
    DELETE /se/grid/session/{sessionId} Removes a URI from the session map. Calling this method more than once for the same SessionId will not throw an error.
    GET /se/grid/session/{sessionId} Retrieves the URI associated the SessionId, or throws a NoSuchSessionException should the session not be present.
    POST /se/grid/session/{sessionId} Registers the session with session map. In theory, the session map never expires a session from its mappings, but realistically, sessions may end up being removed for many reasons.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.openqa.selenium.remote.tracing.Tracer tracer  
    • Constructor Summary

      Constructors 
      Constructor Description
      SessionMap​(org.openqa.selenium.remote.tracing.Tracer tracer)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract boolean add​(Session session)  
      org.openqa.selenium.remote.http.HttpResponse execute​(org.openqa.selenium.remote.http.HttpRequest req)  
      abstract Session get​(org.openqa.selenium.remote.SessionId id)  
      java.net.URI getUri​(org.openqa.selenium.remote.SessionId id)  
      boolean matches​(org.openqa.selenium.remote.http.HttpRequest req)  
      abstract void remove​(org.openqa.selenium.remote.SessionId id)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.openqa.selenium.remote.http.Routable

        with
    • Field Detail

      • tracer

        protected final org.openqa.selenium.remote.tracing.Tracer tracer
    • Constructor Detail

      • SessionMap

        public SessionMap​(org.openqa.selenium.remote.tracing.Tracer tracer)
    • Method Detail

      • add

        public abstract boolean add​(Session session)
      • get

        public abstract Session get​(org.openqa.selenium.remote.SessionId id)
                             throws org.openqa.selenium.NoSuchSessionException
        Throws:
        org.openqa.selenium.NoSuchSessionException
      • remove

        public abstract void remove​(org.openqa.selenium.remote.SessionId id)
      • getUri

        public java.net.URI getUri​(org.openqa.selenium.remote.SessionId id)
                            throws org.openqa.selenium.NoSuchSessionException
        Throws:
        org.openqa.selenium.NoSuchSessionException
      • matches

        public boolean matches​(org.openqa.selenium.remote.http.HttpRequest req)
        Specified by:
        matches in interface org.openqa.selenium.remote.http.Routable
      • execute

        public org.openqa.selenium.remote.http.HttpResponse execute​(org.openqa.selenium.remote.http.HttpRequest req)
        Specified by:
        execute in interface org.openqa.selenium.remote.http.HttpHandler