01: /*
02: * Copyright 2005 Joe Walker
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16: package org.directwebremoting.extend;
17:
18: /**
19: * The heart of DWR is a system to generate content from some requests.
20: * This interface generates scripts and executes remote calls.
21: * @author Joe Walker [joe at getahead dot ltd dot uk]
22: */
23: public interface Remoter {
24: /**
25: * Generate some Javascript that forms an interface definition
26: * @param scriptName The script to generate for
27: * @param contextServletPath request.contextPath + request.servletPath.
28: * @return An interface javascript
29: * @throws SecurityException
30: */
31: String generateInterfaceScript(String scriptName,
32: String contextServletPath) throws SecurityException;
33:
34: /**
35: * Execute a set of remote calls and generate set of reply data for later
36: * conversion to whatever wire protocol we are using today.
37: * @param calls The set of calls to execute
38: * @return A set of reply data objects
39: */
40: Replies execute(Calls calls);
41:
42: /**
43: * The path to the DWR servlet is probably just equal to request.contextPath
44: * plus request.servletPath. However there are 2 ways to override this.
45: * One is to provide an overridePath setting, and the other is to specify
46: * useAbsolutePath=true, when the full URL up to the DWR servlet is used.
47: * This method simply echos back the contextServletPath unless one of those
48: * 2 settings are used in which case the modified value is returned.
49: * @param contextServletPath request.contextPath + request.servletPath.
50: * @return The path to the DWR servlet
51: */
52: String getPathToDwrServlet(String contextServletPath);
53: }
|