Class AbstractAttributeReleaseAction

  • All Implemented Interfaces:
    net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.InitializableComponent, org.opensaml.profile.action.ProfileAction, Aware, MessageSource, MessageSourceAware, Action
    Direct Known Subclasses:
    PopulateAttributeReleaseContext, ReleaseAttributes

    public abstract class AbstractAttributeReleaseAction
    extends AbstractConsentAction
    Base class for attribute release consent actions. Ensures that
    • an AttributeReleaseContext is available from the ProfileRequestContext
    • the interceptor attempted flow is an AttributeReleaseFlowDescriptor
    • an AttributeContext is available from the ProfileRequestContext
    Event:
    EventIds.PROCEED_EVENT_ID, EventIds.INVALID_PROFILE_CTX, IdPEventIds.INVALID_ATTRIBUTE_CTX
    Precondition:
    See above.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean doPreExecute​(org.opensaml.profile.context.ProfileRequestContext profileRequestContext, net.shibboleth.idp.profile.context.ProfileInterceptorContext interceptorContext)
      net.shibboleth.idp.attribute.context.AttributeContext getAttributeContext()
      Get the attribute context.
      net.shibboleth.idp.consent.context.AttributeReleaseContext getAttributeReleaseContext()
      Get the attribute release context.
      AttributeReleaseFlowDescriptor getAttributeReleaseFlowDescriptor()
      Get the attribute release flow descriptor.
      void setAttributeContextLookupStrategy​(Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.attribute.context.AttributeContext> strategy)
      Set the attribute context lookup strategy.
      void setAttributeReleaseContextLookupStrategy​(Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.consent.context.AttributeReleaseContext> strategy)
      Set the attribute release context lookup strategy.
      • Methods inherited from class net.shibboleth.idp.profile.interceptor.AbstractProfileInterceptorAction

        doExecute, doExecute, doPreExecute, setLookupStrategy
      • Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction

        doExecute, execute, getMessage, getMessage, getMessage, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy
      • Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction

        getActivationCondition, setActivationCondition
      • Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

        doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
      • Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent

        destroy, doDestroy, doInitialize, initialize, isDestroyed, isInitialized
      • Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent

        initialize, isInitialized
    • Field Detail

      • log

        @Nonnull
        private final Logger log
        Class logger.
      • attributeReleaseContext

        @Nullable
        private net.shibboleth.idp.consent.context.AttributeReleaseContext attributeReleaseContext
        The AttributeReleaseContext to operate on.
      • attributeReleaseContextLookupStrategy

        @Nonnull
        private Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.consent.context.AttributeReleaseContext> attributeReleaseContextLookupStrategy
        Strategy used to find the AttributeReleaseContext from the ProfileRequestContext.
      • attributeReleaseFlowDescriptor

        @Nullable
        private AttributeReleaseFlowDescriptor attributeReleaseFlowDescriptor
        The attribute consent flow descriptor.
      • attributeContext

        @Nullable
        private net.shibboleth.idp.attribute.context.AttributeContext attributeContext
        The AttributeContext to operate on.
      • attributeContextLookupStrategy

        @Nonnull
        private Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.attribute.context.AttributeContext> attributeContextLookupStrategy
        Strategy used to find the AttributeContext from the ProfileRequestContext.
    • Constructor Detail

      • AbstractAttributeReleaseAction

        public AbstractAttributeReleaseAction()
        Constructor.
    • Method Detail

      • setAttributeContextLookupStrategy

        public void setAttributeContextLookupStrategy​(Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.attribute.context.AttributeContext> strategy)
        Set the attribute context lookup strategy.
        Parameters:
        strategy - the attribute context lookup strategy
      • setAttributeReleaseContextLookupStrategy

        public void setAttributeReleaseContextLookupStrategy​(@Nonnull
                                                             Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.consent.context.AttributeReleaseContext> strategy)
        Set the attribute release context lookup strategy.
        Parameters:
        strategy - the attribute release context lookup strategy
      • getAttributeReleaseContext

        @Nullable
        public net.shibboleth.idp.consent.context.AttributeReleaseContext getAttributeReleaseContext()
        Get the attribute release context.
        Returns:
        the attribute release context
      • getAttributeReleaseFlowDescriptor

        @Nullable
        public AttributeReleaseFlowDescriptor getAttributeReleaseFlowDescriptor()
        Get the attribute release flow descriptor.
        Returns:
        the attribute release flow descriptor
      • getAttributeContext

        @Nullable
        public net.shibboleth.idp.attribute.context.AttributeContext getAttributeContext()
        Get the attribute context.
        Returns:
        the attribute context
      • doPreExecute

        protected boolean doPreExecute​(@Nonnull
                                       org.opensaml.profile.context.ProfileRequestContext profileRequestContext,
                                       @Nonnull
                                       net.shibboleth.idp.profile.context.ProfileInterceptorContext interceptorContext)
        Overrides:
        doPreExecute in class AbstractConsentAction