1 /*
2 * ========================================================================
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one or more
5 * contributor license agreements. See the NOTICE file distributed with
6 * this work for additional information regarding copyright ownership.
7 * The ASF licenses this file to You under the Apache License, Version 2.0
8 * (the "License"); you may not use this file except in compliance with
9 * the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 *
19 * ========================================================================
20 */
21 package org.apache.cactus.spi.client;
22
23 import org.apache.cactus.Request;
24 import org.apache.cactus.internal.client.ClientException;
25
26 /**
27 * Constructs response object that are passed as parameter to
28 * <code>endXXX()</code> and global <code>end()</code> methods.
29 *
30 * @version $Id: ResponseObjectFactory.java 238991 2004-05-22 11:34:50Z vmassol $
31 */
32 public interface ResponseObjectFactory
33 {
34 /**
35 * Constructs response object that are passed as parameter to
36 * <code>endXXX()</code> and global end methods.
37 *
38 * @param theClassName the class name of the object to construct
39 * @param theRequest the request that was sent by Cactus to the server side
40 * @return the response object that will be passed to <code>endXXX()</code>
41 * and <code>end()</code> methods
42 * @throws ClientException if it fails to construct the response object
43 */
44 Object getResponseObject(String theClassName, Request theRequest)
45 throws ClientException;
46 }