View Javadoc

1   /***
2    * Licensed under the Artistic License; you may not use this file
3    * except in compliance with the License.
4    * You may obtain a copy of the License at
5    *
6    *      http://displaytag.sourceforge.net/license.html
7    *
8    * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
9    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
10   * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
11   */
12  package org.displaytag.filter;
13  
14  import javax.servlet.http.HttpServletResponse;
15  
16  
17  /***
18   * Buffers the response; will not send anything directly through to the actual response. Note that this blocks the
19   * content-type from being set, you must set it manually in the response.
20   * @author Fabrizio Giustina
21   * @version $Revision: 1.18 $ ($Author: fgiust $)
22   */
23  public interface BufferedResponseWrapper extends HttpServletResponse
24  {
25  
26      /***
27       * Headers which cause problems during file download.
28       */
29      String[] FILTERED_HEADERS = new String[]{"cache-control", "expires", "pragma"};
30  
31      /***
32       * Return <code>true</code> if ServletOutputStream has been requested from Table tag.
33       * @return <code>true</code> if ServletOutputStream has been requested
34       */
35      boolean isOutRequested();
36  
37      /***
38       * If the app server sets the content-type of the response, it is sticky and you will not be able to change it.
39       * Therefore it is intercepted here.
40       * @return the ContentType that was most recently set
41       */
42      String getContentType();
43  
44      /***
45       * Returns the String representation of the content written to the response.
46       * @return the content of the response
47       */
48      String getContentAsString();
49  
50  }