Package org.apache.wicket.markup.html
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:
IHeaderResponseDecorator
,IHeaderResponse
-
-
Constructor Summary
Constructors Constructor Description DecoratingHeaderResponse(IHeaderResponse real)
Create a header response that simply delegates all methods to the one that is passed in here.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Mark Header rendering is completed and subsequent usage will be ignored.protected 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.Response
getResponse()
Returns the response that can be used to write arbitrary text to the head section.boolean
isClosed()
void
markRendered(Object object)
Marks the given object as rendered.void
render(HeaderItem item)
Renders the givenHeaderItem
to the response if none of its tokens has been rendered before.boolean
wasRendered(Object object)
Returns whether the given object has been marked as rendered.
-
-
-
Constructor Detail
-
DecoratingHeaderResponse
public DecoratingHeaderResponse(IHeaderResponse real)
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 Detail
-
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 givenHeaderItem
to the response if none of its tokens has been rendered before.Automatically marks all item's tokens as rendered.
- Specified by:
render
in interfaceIHeaderResponse
- Parameters:
item
- The item to render.- See Also:
IHeaderResponse.markRendered(Object)
-
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 interfaceIHeaderResponse
- 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 interfaceIHeaderResponse
- Parameters:
object
- Object that is queried to be rendered- Returns:
- Whether the object has been marked as rendered during the request
- See Also:
IHeaderResponse.markRendered(Object)
-
getResponse
public 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 interfaceIHeaderResponse
- 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 interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceIHeaderResponse
-
isClosed
public boolean isClosed()
- Specified by:
isClosed
in interfaceIHeaderResponse
- Returns:
- if header rendering is completed and subsequent usage will be ignored
-
-