View Javadoc

1   package org.apache.turbine.modules.layouts;
2   
3   /*
4    * Copyright 2001-2005 The Apache Software Foundation.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License")
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  import org.apache.turbine.modules.Layout;
20  import org.apache.turbine.util.RunData;
21  import org.apache.turbine.util.TurbineException;
22  
23  /***
24   * This layout allows an action to manipulate the ServletOutputStream directly.
25   * It requires that data.declareDirectResponse() has been called to indicate
26   * that the OutputStream is being handled elsewhere.
27   *
28   * @author <a href="mailto:peter@courcoux.biz">Peter Courcoux</a>
29   * @version $Id: DirectResponseLayout.java 264148 2005-08-29 14:21:04Z henning $
30   */
31  public class DirectResponseLayout extends Layout
32  {
33      /***
34       * Ensures that a direct response has been declared.
35       *
36       * @param data Turbine information.
37       * @exception TurbineException if a direct response has not been declared.
38       */
39      public void doBuild(RunData data)
40          throws Exception
41      {
42          if (!data.isOutSet())
43          {
44              throw new TurbineException(
45                  "data.declareDirectResponse() has not been called");
46          }
47      }
48  
49  }