Class MultiRelyingPartyContext

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

public final class MultiRelyingPartyContext
extends BaseContext
BaseContext representing multiple relying parties involved in a request, usually a subcontext of ProfileRequestContext.

The multiple parties may be accessed as a collection, by their name, or by "labels", which are specific to a given profile/scenario.

The context also provides state management for flows to iterate over the relying parties in the context using an iterator and a "current" pointer.

  • Field Details

  • Constructor Details

    • MultiRelyingPartyContext

      public MultiRelyingPartyContext()
      Constructor.
  • Method Details

    • getRelyingPartyContexts

      @Nonnull @NonnullElements @NotLive @Unmodifiable public Collection<RelyingPartyContext> getRelyingPartyContexts()
      Get an immutable collection of the RP contexts.
      Returns:
      immutable collection of RP contexts
    • getRelyingPartyContexts

      @Nonnull @NonnullElements @NotLive @Unmodifiable public Collection<RelyingPartyContext> getRelyingPartyContexts​(@Nonnull @NotEmpty String label)
      Get an immutable collection of RP contexts associated with a label.
      Parameters:
      label - the label to search for
      Returns:
      corresponding RP contexts
    • getRelyingPartyContextById

      @Nullable public RelyingPartyContext getRelyingPartyContextById​(@Nonnull @NotEmpty String id)
      Get a RP context by name/id.
      Parameters:
      id - the identifier to search for
      Returns:
      a corresponding RP context
    • getRelyingPartyContextIterator

      @Nonnull public Iterator<RelyingPartyContext> getRelyingPartyContextIterator​(boolean fresh)
      Get an iterator over the relying parties contained in the context.

      The first time this method is called, or if the parameter is set, it will return a fresh iterator; subsequent calls will return the same iterator.

      Modification of the underlying collection while iterating is not supported.

      Parameters:
      fresh - if true, a new iterator will be created and returned
      Returns:
      an iterator over the relying parties contained in the context
    • getRelyingPartyContextIterator

      @Nonnull public Iterator<RelyingPartyContext> getRelyingPartyContextIterator()
      Equivalent to calling getRelyingPartyContextIterator(boolean) with a parameter of "false".
      Returns:
      an iterator over the relying parties contained in the context
    • getCurrentRelyingPartyContext

      @Nullable public RelyingPartyContext getCurrentRelyingPartyContext()
      Get the RelyingPartyContext pointed to by an iterator.
      Returns:
      the current position of the last iterator returned by getRelyingPartyContextIterator().
    • addRelyingPartyContext

      public void addRelyingPartyContext​(@Nonnull @NotEmpty String label, @Nonnull RelyingPartyContext context)
      Add a RP context associated with a label.
      Parameters:
      label - the label to associate with the context
      context - context to add
    • removeRelyingPartyContext

      public void removeRelyingPartyContext​(@Nonnull @NotEmpty String label, @Nonnull RelyingPartyContext context)
      Remove a RP context associated with a label.
      Parameters:
      label - the label associated with the context
      context - context to remove