Class HeaderResponse

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, IHeaderResponse

    public abstract class HeaderResponse
    extends java.lang.Object
    implements IHeaderResponse
    Default implementation of the IHeaderResponse interface.
    Author:
    Matej Knopp, Igor Vaynberg (ivaynberg)
    • Constructor Summary

      Constructors 
      Constructor Description
      HeaderResponse()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Mark Header rendering is completed and subsequent usage will be ignored.
      protected abstract org.apache.wicket.request.Response getRealResponse()
      Once the HeaderResponse is closed, no output may be written to it anymore.
      org.apache.wicket.request.Response getResponse()
      Returns the response that can be used to write arbitrary text to the head section.
      boolean isClosed()  
      protected void markItemRendered​(HeaderItem item)  
      void markRendered​(java.lang.Object object)
      Marks the given object as rendered.
      void render​(HeaderItem item)
      Renders the given HeaderItem to the response if none of the tokens of the item has been rendered before.
      protected boolean wasItemRendered​(HeaderItem item)  
      boolean wasRendered​(java.lang.Object object)
      Returns whether the given object has been marked as rendered.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • HeaderResponse

        public HeaderResponse()
    • Method Detail

      • markRendered

        public void markRendered​(java.lang.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.
        See Also:
        IHeaderResponse.markRendered(java.lang.Object)
      • wasItemRendered

        protected boolean wasItemRendered​(HeaderItem item)
      • markItemRendered

        protected void markItemRendered​(HeaderItem item)
      • wasRendered

        public boolean wasRendered​(java.lang.Object object)
        Description copied from interface: IHeaderResponse
        Returns whether the given object has been marked as rendered.
        • Methods renderJavaScriptReference and renderCSSReference mark the specified ResourceReference as rendered.
        • Method renderJavaScript marks List of two elements (first is javascript body CharSequence and second is id) as rendered.
        • Method renderString marks the whole string as rendered.
        • Method markRendered can be used to mark an arbitrary object 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:
        IHeaderResponse.wasRendered(java.lang.Object)
      • 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 java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface IHeaderResponse
        See Also:
        IHeaderResponse.close()
      • getResponse

        public final org.apache.wicket.request.Response 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
        See Also:
        IHeaderResponse.getResponse()
      • getRealResponse

        protected abstract org.apache.wicket.request.Response getRealResponse()
        Once the HeaderResponse is closed, no output may be written to it anymore. To enforce that, the getResponse() is defined final in this class and will return a NullResponse instance once closed or otherwise the Response provided by this method.
        Returns:
        Response