org.springframework.web.context.request

Class AbstractRequestAttributes

  • java.lang.Object
    • org.springframework.web.context.request.AbstractRequestAttributes
  • All Implemented Interfaces:
    RequestAttributes
    Direct Known Subclasses:
    ServletRequestAttributes


    public abstract class AbstractRequestAttributes
    extends java.lang.Object
    implements RequestAttributes
    Abstract support class for RequestAttributes implementations, offering a request completion mechanism for request-specific destruction callbacks and for updating accessed session attributes.
    Since:
    2.0
    Author:
    Juergen Hoeller
    See Also:
    requestCompleted()
    • Field Detail

      • requestDestructionCallbacks

        protected final java.util.Map<java.lang.String,java.lang.Runnable> requestDestructionCallbacks
        Map from attribute name String to destruction callback Runnable.
    • Constructor Detail

      • AbstractRequestAttributes

        public AbstractRequestAttributes()
    • Method Detail

      • requestCompleted

        public void requestCompleted()
        Signal that the request has been completed.

        Executes all request destruction callbacks and updates the session attributes that have been accessed during request processing.

      • isRequestActive

        protected final boolean isRequestActive()
        Determine whether the original request is still active.
        See Also:
        requestCompleted()
      • registerRequestDestructionCallback

        protected final void registerRequestDestructionCallback(java.lang.String name,
                                                                java.lang.Runnable callback)
        Register the given callback as to be executed after request completion.
        Parameters:
        name - the name of the attribute to register the callback for
        callback - the callback to be executed for destruction
      • removeRequestDestructionCallback

        protected final void removeRequestDestructionCallback(java.lang.String name)
        Remove the request destruction callback for the specified attribute, if any.
        Parameters:
        name - the name of the attribute to remove the callback for
      • updateAccessedSessionAttributes

        protected abstract void updateAccessedSessionAttributes()
        Update all session attributes that have been accessed during request processing, to expose their potentially updated state to the underlying session manager.