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: import org.directwebremoting.WebContext;
19:
20: /**
21: * An interface that extends WebContext with some functions that should not
22: * be used by end users, but could be useful to system extenders.
23: * @author Joe Walker [joe at getahead dot ltd dot uk]
24: */
25: public interface RealWebContext extends WebContext {
26: /**
27: * Fill in the page details from the servlet request.
28: * <p>This method should be used by anything that parses a batch, and then
29: * allows either uses a {@link WebContext} or allows other things to use a
30: * WebContext.
31: * <p><strong>Caution<strong> Following this call, the passed
32: * scriptSessionId may be wrong. scriptSessionIds can become invalid due to
33: * server re-start, a timeout, or a back-button.
34: * <p>It seems wrong to throw a security exception, because it could
35: * be totally innocent. So this method will create a new script session and
36: * insert a script into the script session so that the page becomes synced
37: * with the new ID at the earliest possible opportunity.
38: * @param page The URL of the current page
39: * @param scriptSessionId The session id passed in by the browser
40: * @param windowName Reverse Ajax uses window.name to avoid 2 connection limit
41: */
42: void checkPageInformation(String page, String scriptSessionId,
43: String windowName);
44: }
|