Class AbstractRequestAttributes

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

public abstract class AbstractRequestAttributes extends 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:
  • Field Details

    • requestDestructionCallbacks

      protected final Map<String,Runnable> requestDestructionCallbacks
      Map from attribute name String to destruction callback Runnable.
  • Constructor Details

    • AbstractRequestAttributes

      public AbstractRequestAttributes()
  • Method Details

    • 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:
    • registerRequestDestructionCallback

      protected final void registerRequestDestructionCallback(String name, 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(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.