Class MultiRelyingPartyContext
java.lang.Object
org.opensaml.messaging.context.BaseContext
net.shibboleth.idp.profile.context.MultiRelyingPartyContext
- All Implemented Interfaces:
Iterable<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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classWrapper for an iterator that tracks the current object.Nested classes/interfaces inherited from class org.opensaml.messaging.context.BaseContext
BaseContext.ContextSetNoRemoveIteratorDecorator, BaseContext.DeprecatedContextClassNameLookAside -
Field Summary
FieldsModifier and TypeFieldDescriptionMap of RP contexts indexed by name.private Iterator<net.shibboleth.profile.context.RelyingPartyContext>An iterator to track progress through the set of relying parties.private ListMultimap<String,net.shibboleth.profile.context.RelyingPartyContext> Multimap of RP contexts indexed by role. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRelyingPartyContext(String label, net.shibboleth.profile.context.RelyingPartyContext context) Add a RP context associated with a label.net.shibboleth.profile.context.RelyingPartyContextGet theRelyingPartyContextpointed to by an iterator.net.shibboleth.profile.context.RelyingPartyContextGet a RP context by name/id.Iterator<net.shibboleth.profile.context.RelyingPartyContext>Equivalent to callinggetRelyingPartyContextIterator(boolean)with a parameter of "false".Iterator<net.shibboleth.profile.context.RelyingPartyContext>getRelyingPartyContextIterator(boolean fresh) Get an iterator over the relying parties contained in the context.Collection<net.shibboleth.profile.context.RelyingPartyContext>Get an immutable collection of the RP contexts.Collection<net.shibboleth.profile.context.RelyingPartyContext>getRelyingPartyContexts(String label) Get an immutable collection of RP contexts associated with a label.voidremoveRelyingPartyContext(String label, net.shibboleth.profile.context.RelyingPartyContext context) Remove a RP context associated with a label.Methods inherited from class org.opensaml.messaging.context.BaseContext
addSubcontext, addSubcontext, clearSubcontexts, containsSubcontext, createSubcontext, ensureSubcontext, ensureSubcontext, getParent, getSubcontext, getSubcontext, getSubcontext, getSubcontext, iterator, removeFromParent, removeSubcontext, removeSubcontext, setParentMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
relyingPartyIdMap
Map of RP contexts indexed by name. -
relyingPartyLabelMap
@Nonnull private ListMultimap<String,net.shibboleth.profile.context.RelyingPartyContext> relyingPartyLabelMapMultimap of RP contexts indexed by role. -
relyingPartyIterator
An iterator to track progress through the set of relying parties.
-
-
Constructor Details
-
MultiRelyingPartyContext
public MultiRelyingPartyContext()Constructor.
-
-
Method Details
-
getRelyingPartyContexts
@Nonnull @NotLive @Unmodifiable public Collection<net.shibboleth.profile.context.RelyingPartyContext> getRelyingPartyContexts()Get an immutable collection of the RP contexts.- Returns:
- immutable collection of RP contexts
-
getRelyingPartyContexts
@Nonnull @NotLive @Unmodifiable public Collection<net.shibboleth.profile.context.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 net.shibboleth.profile.context.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<net.shibboleth.profile.context.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<net.shibboleth.profile.context.RelyingPartyContext> getRelyingPartyContextIterator()Equivalent to callinggetRelyingPartyContextIterator(boolean)with a parameter of "false".- Returns:
- an iterator over the relying parties contained in the context
-
getCurrentRelyingPartyContext
@Nullable public net.shibboleth.profile.context.RelyingPartyContext getCurrentRelyingPartyContext()Get theRelyingPartyContextpointed to by an iterator.- Returns:
- the current position of the last iterator returned by
getRelyingPartyContextIterator().
-
addRelyingPartyContext
public void addRelyingPartyContext(@Nonnull @NotEmpty String label, @Nonnull net.shibboleth.profile.context.RelyingPartyContext context) Add a RP context associated with a label.- Parameters:
label- the label to associate with the contextcontext- context to add
-
removeRelyingPartyContext
public void removeRelyingPartyContext(@Nonnull @NotEmpty String label, @Nonnull net.shibboleth.profile.context.RelyingPartyContext context) Remove a RP context associated with a label.- Parameters:
label- the label associated with the contextcontext- context to remove
-