Class DecoratingHeaderResponse

java.lang.Object
org.apache.wicket.markup.html.DecoratingHeaderResponse
All Implemented Interfaces:
Closeable, AutoCloseable, IHeaderResponse
Direct Known Subclasses:
CSPNonceHeaderResponseDecorator, FilteringHeaderResponse, JavaScriptDeferHeaderResponse, ResourceAggregator, SubresourceHeaderResponse

public abstract class DecoratingHeaderResponse extends Object implements IHeaderResponse
This is simply a helper implementation of IHeaderResponse that really delegates all of its method calls to the IHeaderResponse that is passed into the constructor. It is defined as abstract because it's only meant to be extended and not used a la carte. You can extend it and override only the methods that you want to change the functionality of.
Author:
Jeremy Thomerson
See Also:
  • Constructor Details

    • DecoratingHeaderResponse

      Create a header response that simply delegates all methods to the one that is passed in here.
      Parameters:
      real - the actual response that this class delegates to by default
  • Method Details

    • getRealResponse

      protected final IHeaderResponse getRealResponse()
      Returns the actual response being decorated for subclasses to be able to pass it off to other objects if they need to do so.
      Returns:
      the actual wrapped IHeaderResponse
    • render

      public void render(HeaderItem item)
      Description copied from interface: IHeaderResponse
      Renders the given HeaderItem to the response if none of its tokens has been rendered before.

      Automatically marks all item's tokens as rendered.

      Specified by:
      render in interface IHeaderResponse
      Parameters:
      item - The item to render.
      See Also:
    • markRendered

      public void markRendered(Object object)
      Description copied from interface: IHeaderResponse
      Marks the given object as rendered. The object can be anything (string, resource reference, etc...). The purpose of this function is to allow user to manually keep track of rendered items. This can be useful for items that are expensive to generate (like interpolated text).
      Specified by:
      markRendered in interface IHeaderResponse
      Parameters:
      object - object to be marked as rendered.
    • wasRendered

      public boolean wasRendered(Object object)
      Description copied from interface: IHeaderResponse
      Returns whether the given object has been marked as rendered.
      Specified by:
      wasRendered in interface IHeaderResponse
      Parameters:
      object - Object that is queried to be rendered
      Returns:
      Whether the object has been marked as rendered during the request
      See Also:
    • getResponse

      Description copied from interface: IHeaderResponse
      Returns the response that can be used to write arbitrary text to the head section.

      Note: This method is kind of dangerous as users are able to write to the output whatever they like.

      Specified by:
      getResponse in interface IHeaderResponse
      Returns:
      Response
    • close

      public void close()
      Description copied from interface: IHeaderResponse
      Mark Header rendering is completed and subsequent usage will be ignored. If some kind of buffering is used internally, this action will mark that the contents has to be flushed out.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface IHeaderResponse
    • isClosed

      public boolean isClosed()
      Specified by:
      isClosed in interface IHeaderResponse
      Returns:
      if header rendering is completed and subsequent usage will be ignored