01: /*
02: * Copyright 2007 Google Inc.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License. You may obtain a copy of
06: * 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, WITHOUT
12: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13: * License for the specific language governing permissions and limitations under
14: * the License.
15: */
16: package com.google.gwt.user.server.rpc;
17:
18: import java.lang.reflect.Method;
19:
20: /**
21: * Describes an incoming RPC request in terms of a resolved {@link Method} and
22: * an array of arguments.
23: */
24: public final class RPCRequest {
25:
26: /**
27: * The method for this request.
28: */
29: private final Method method;
30:
31: /**
32: * The parameters for this request.
33: */
34: private final Object[] parameters;
35:
36: /**
37: * {@link SerializationPolicy} used for decoding this request and for encoding
38: * the responses.
39: */
40: private final SerializationPolicy serializationPolicy;
41:
42: /**
43: * Construct an RPCRequest.
44: */
45: public RPCRequest(Method method, Object[] parameters,
46: SerializationPolicy serializationPolicy) {
47: this .method = method;
48: this .parameters = parameters;
49: this .serializationPolicy = serializationPolicy;
50: }
51:
52: /**
53: * Get the request's method.
54: */
55: public Method getMethod() {
56: return method;
57: }
58:
59: /**
60: * Get the request's parameters.
61: */
62: public Object[] getParameters() {
63: return parameters;
64: }
65:
66: /**
67: * Returns the {@link SerializationPolicy} used to decode this request. This
68: * is also the <code>SerializationPolicy</code> that should be used to
69: * encode responses.
70: *
71: * @return {@link SerializationPolicy} used to decode this request
72: */
73: public SerializationPolicy getSerializationPolicy() {
74: return serializationPolicy;
75: }
76: }
|