001: /*
002: * Copyright 2005 Joe Walker
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016: package org.directwebremoting.dwrp;
017:
018: /**
019: * Various constants for type conversion
020: * @author Joe Walker [joe at getahead dot ltd dot uk]
021: * @noinspection InterfaceNeverImplemented
022: */
023: public interface ProtocolConstants {
024: /**
025: * The name for reference types from javascript
026: */
027: public static final String TYPE_REFERENCE = "reference";
028:
029: /**
030: * The name for string types from javascript
031: */
032: public static final String TYPE_STRING = "string";
033:
034: /**
035: * The name for file types from javascript
036: */
037: public static final String TYPE_FILE = "file";
038:
039: /**
040: * How many calls are there in this request?
041: */
042: public static final String INBOUND_CALL_COUNT = "callCount";
043:
044: /**
045: * The prefix to the call number on inbound calls
046: */
047: public static final String INBOUND_CALLNUM_PREFIX = "c";
048:
049: /**
050: * The suffix to the call number on inbound calls
051: */
052: public static final String INBOUND_CALLNUM_SUFFIX = "-";
053:
054: /**
055: * Used to define the id of this call
056: */
057: public static final String INBOUND_KEY_ID = "id";
058:
059: /**
060: * The parameter that specifies the http session identifier
061: */
062: public static final String INBOUND_KEY_HTTP_SESSIONID = "httpSessionId";
063:
064: /**
065: * The parameter that specifies the batch identifier
066: */
067: public static final String INBOUND_KEY_BATCHID = "batchId";
068:
069: /**
070: * The parameter that specifies the script session identifier
071: */
072: public static final String INBOUND_KEY_SCRIPT_SESSIONID = "scriptSessionId";
073:
074: /**
075: * The parameter that specifies the current page
076: */
077: public static final String INBOUND_KEY_PAGE = "page";
078:
079: /**
080: * The inbound key to define the class to be used.
081: * This will be the javascript version of the full java package name.
082: */
083: public static final String INBOUND_KEY_SCRIPTNAME = "scriptName";
084:
085: /**
086: * The inbound key to define the method to be called
087: */
088: public static final String INBOUND_KEY_METHODNAME = "methodName";
089:
090: /**
091: * Window name is used by reverse ajax to get around the 2 connection limit
092: */
093: public static final String INBOUND_KEY_WINDOWNAME = "windowName";
094:
095: /**
096: * What prefix do we put to the input parameters
097: */
098: public static final String INBOUND_KEY_PARAM = "param";
099:
100: /**
101: * What prefix do we put to the environment parameters
102: */
103: public static final String INBOUND_KEY_ENV = "e";
104:
105: /**
106: * What prefix do we put to the meta-data parameters
107: */
108: public static final String INBOUND_KEY_METADATA = "p-";
109:
110: /**
111: * The inbound key to declare if the XHR.responseText is readable when half filled
112: */
113: public static final String INBOUND_KEY_PARTIAL_RESPONSE = "partialResponse";
114:
115: /**
116: * The character to use to distinguish between the variable name and the
117: * variable value
118: */
119: public static final String INBOUND_DECL_SEPARATOR = "=";
120:
121: /**
122: * The character that we use to separate types for values in inbound
123: * variables
124: */
125: public static final String INBOUND_TYPE_SEPARATOR = ":";
126:
127: /**
128: * How are javascript arrays begun
129: */
130: public static final String INBOUND_ARRAY_END = "]";
131:
132: /**
133: * How are javascript arrays ended
134: */
135: public static final String INBOUND_ARRAY_START = "[";
136:
137: /**
138: * How are javascript array elements separated
139: */
140: public static final String INBOUND_ARRAY_SEPARATOR = ",";
141:
142: /**
143: * How javascript associative arrays (maps) are started
144: */
145: public static final String INBOUND_MAP_START = "{";
146:
147: /**
148: * How javascript associative arrays (maps) are ended
149: */
150: public static final String INBOUND_MAP_END = "}";
151:
152: /**
153: * How javascript map entries are split from each other
154: */
155: public static final String INBOUND_MAP_SEPARATOR = ",";
156:
157: /**
158: * How javascript map entries are split into name/value pairs
159: */
160: public static final String INBOUND_MAP_ENTRY = ":";
161:
162: /**
163: * null is sometimes needed in a javascript map
164: */
165: public static final String INBOUND_NULL = "null";
166:
167: /**
168: * The marker to indicate that the output is from data inserted into the call
169: */
170: public static final String SCRIPT_CALL_INSERT = "//#DWR-INSERT";
171:
172: /**
173: * The marker to indicate that the output is a reply to the call
174: */
175: public static final String SCRIPT_CALL_REPLY = "//#DWR-REPLY";
176:
177: /**
178: * The marker to indicate the start of a 'eval'able script block
179: */
180: public static final String SCRIPT_START_MARKER = "//#DWR-START#";
181:
182: /**
183: * The marker to indicate the end of a 'eval'able script block
184: */
185: public static final String SCRIPT_END_MARKER = "//#DWR-END#";
186: }
|