1 /*
   2  * Copyright (c) 1997, 2011, 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 
  26 package com.sun.xml.internal.ws.api.databinding;
  27 
  28 import 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  */
  48 public class JavaCallInfo implements com.sun.xml.internal.org.jvnet.ws.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 }