1/*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.  Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package com.sun.xml.internal.ws.api.databinding;
27
28import java.lang.reflect.Method;
29
30/**
31 * On the client or service-requestor side, a JavaCallInfo object represents a
32 * method call on the service proxy to be serialized as a SOAP request message
33 * to be sent to the service. A SOAP response message returned to the service
34 * client is deserialized as an update to the JavaCallInfo object which is used
35 * to generated the request.
36 * <p>
37 * </p>
38 * On the server or service provider side, a SOAP request message is
39 * deserialized to a JavaCallInfo object which can be used to determine which
40 * method to call, and get the parameter values to call the back-end service
41 * implementation object. The return value or exception returned from the
42 * service implementation should be set to the JavaCallInfo object which then
43 * can be used to serialize to a A SOAP response or fault message to be sent
44 * back to the service client.
45 *
46 * @author shih-chang.chen@oracle.com
47 */
48public class JavaCallInfo implements com.oracle.webservices.internal.api.databinding.JavaCallInfo {
49
50        private Method method;
51        private Object[] parameters;
52        private Object returnValue;
53        private Throwable exception;
54
55        public JavaCallInfo() {
56        }
57
58        public JavaCallInfo(Method m, Object[] args) {
59                method = m;
60                parameters = args;
61        }
62
63        /**
64         * Gets the method of this JavaCallInfo
65         *
66         * @return the method
67         */
68        public Method getMethod() {
69                return method;
70        }
71
72        /**
73         * Sets the method of this JavaCallInfo
74         *
75         * @param method
76         *            the method to set
77         */
78        public void setMethod(Method method) {
79                this.method = method;
80        }
81
82        /**
83         * Gets the parameters of this JavaCallInfo
84         *
85         * @return the parameters
86         */
87        public Object[] getParameters() {
88                return parameters;
89        }
90
91        /**
92         * Sets the parameters of this JavaCallInfo
93         *
94         * @param parameters
95         *            the parameters to set
96         */
97        public void setParameters(Object[] parameters) {
98                this.parameters = parameters;
99        }
100
101        /**
102         * Gets the returnValue of this JavaCallInfo
103         *
104         * @return the returnValue
105         */
106        public Object getReturnValue() {
107                return returnValue;
108        }
109
110        /**
111         * Sets the returnValue of this JavaCallInfo
112         *
113         * @param returnValue
114         *            the returnValue to set
115         */
116        public void setReturnValue(Object returnValue) {
117                this.returnValue = returnValue;
118        }
119
120        /**
121         * Gets the exception of this JavaCallInfo
122         *
123         * @return the exception
124         */
125        public Throwable getException() {
126                return exception;
127        }
128
129        /**
130         * Sets the exception of this JavaCallInfo
131         *
132         * @param exception
133         *            the exception to set
134         */
135        public void setException(Throwable exception) {
136                this.exception = exception;
137        }
138}
139