Class LogoutContext

java.lang.Object
org.opensaml.messaging.context.BaseContext
net.shibboleth.idp.session.context.LogoutContext
All Implemented Interfaces:
Iterable<BaseContext>

public final class LogoutContext extends BaseContext
A BaseContext that holds a multimap of SPSession objects.

This context is used primarily to expose the SPSession objects for which logout is implicated.

  • Field Details

    • idpSessions

      @Nonnull private final Collection<IdPSession> idpSessions
      Primary sessions to destroy.
    • sessionMap

      @Nonnull private final Multimap<String,SPSession> sessionMap
      SP sessions needing logout.
    • keyedSessionMap

      @Nonnull private final Map<String,SPSession> keyedSessionMap
      An index of the session objects by an externally assigned key.
    • flowComplete

      private boolean flowComplete
      Signal that logout master flow is complete.
  • Constructor Details

    • LogoutContext

      public LogoutContext()
      Constructor.
  • Method Details

    • getIdPSessions

      @Nonnull @Live public Collection<IdPSession> getIdPSessions()
      Get a live collection of the IdP Sessions being destroyed.
      Returns:
      sessions being destroyed
      Since:
      4.0.0
    • getSessionMap

      @Nonnull @Live public Multimap<String,SPSession> getSessionMap()
      Get a live view of the map of service ID/session mappings.
      Returns:
      service ID/session mappings
    • getKeyedSessionMap

      @Nonnull @Live public Map<String,SPSession> getKeyedSessionMap()
      Get a live view of the map of sessions keyed by an external value.

      This map can be used to index the sessions in the context according to a particular use case.

      Returns:
      keyed session mappings
    • getSessions

      @Nonnull @Live public Collection<SPSession> getSessions(@Nonnull @NotEmpty String id)
      Get a live collection of sessions associated with a service.
      Parameters:
      id - name of service to retrieve
      Returns:
      the sessions for the service
    • isFlowComplete

      public boolean isFlowComplete()
      Gets whether the master logout flow has completed or requires further signaling.
      Returns:
      true iff the flow is completed
      Since:
      5.1.0
    • setFlowComplete

      @Nonnull public LogoutContext setFlowComplete(boolean flag)
      Sets whether the master logout flow has completed or requires further signaling.
      Parameters:
      flag - flag to set
      Returns:
      this context
      Since:
      5.1.0