// This class was generated by the JAXRPC SI, do not edit.
// Contents subject to change without notice.
// JAX-RPC Standard Implementation (1.1.2_01, build R40)
// Generated source version: 1.1.2
package org.jboss.test.ws.jaxrpc.encoded.parametermode;

// $Id: ParameterModeTestImpl.java 1757 2006-12-22 15:40:24Z thomas.diesler@jboss.com $

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Calendar;

import javax.xml.namespace.QName;
import javax.xml.rpc.holders.BigDecimalHolder;
import javax.xml.rpc.holders.BigIntegerHolder;
import javax.xml.rpc.holders.BooleanHolder;
import javax.xml.rpc.holders.BooleanWrapperHolder;
import javax.xml.rpc.holders.ByteArrayHolder;
import javax.xml.rpc.holders.ByteHolder;
import javax.xml.rpc.holders.ByteWrapperHolder;
import javax.xml.rpc.holders.CalendarHolder;
import javax.xml.rpc.holders.DoubleHolder;
import javax.xml.rpc.holders.DoubleWrapperHolder;
import javax.xml.rpc.holders.FloatHolder;
import javax.xml.rpc.holders.FloatWrapperHolder;
import javax.xml.rpc.holders.IntHolder;
import javax.xml.rpc.holders.IntegerWrapperHolder;
import javax.xml.rpc.holders.LongHolder;
import javax.xml.rpc.holders.QNameHolder;
import javax.xml.rpc.holders.ShortHolder;
import javax.xml.rpc.holders.ShortWrapperHolder;
import javax.xml.rpc.holders.StringHolder;

import org.jboss.logging.Logger;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfBookHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfQNameHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfbooleanHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfbyteHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfdateTimeHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfdecimalHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfdoubleHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOffloatHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfintHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfintegerHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOflongHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfshortHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.ArrayOfstringHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.BookHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.EnumByteHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.EnumDecimalHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.EnumDoubleHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.EnumFloatHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.EnumIntHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.EnumIntegerHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.EnumLongHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.EnumShortHolder;
import org.jboss.test.ws.jaxrpc.encoded.parametermode.holders.EnumStringHolder;

public class ParameterModeTestImpl implements ParameterModeTest
{
   // Provide logging
   private static Logger log = Logger.getLogger(ParameterModeTestImpl.class);

   private static String _varString;
   private static BigInteger _varInteger;
   private static int _varInt;
   private static long _varLong;
   private static short _varShort;
   private static BigDecimal _varDecimal;
   private static float _varFloat;
   private static double _varDouble;
   private static boolean _varBoolean;
   private static byte _varByte;
   private static QName _varQName;
   private static Calendar _varDateTime;
   private static String _varSoapString;
   private static Boolean _varSoapBoolean;
   private static Float _varSoapFloat;
   private static Double _varSoapDouble;
   private static BigDecimal _varSoapDecimal;
   private static Integer _varSoapInt;
   private static Short _varSoapShort;
   private static Byte _varSoapByte;
   private static byte[] _varBase64Binary;
   private static byte[] _varHexBinary;
   private static byte[] _varSoapBase64;

   private static EnumString _varEnumString;
   private static EnumInteger _varEnumInteger;
   private static EnumInt _varEnumInt;
   private static EnumLong _varEnumLong;
   private static EnumShort _varEnumShort;
   private static EnumDecimal _varEnumDecimal;
   private static EnumFloat _varEnumFloat;
   private static EnumDouble _varEnumDouble;
   private static EnumByte _varEnumByte;

   public void echoIn(String varString)
   {
      log.info("echoIn: " + varString);
      _varString = varString;
   }

   public void echoOut(StringHolder varString)
   {
      log.info("echoOut: " + varString);
      varString.value = _varString;
   }

   public void echoInOut(StringHolder varString)
   {
      log.info("echoInOut: " + varString.value);
   }

   public void echoInOut2(StringHolder varString)
   {
      log.info("echoInOut2: " + varString);
   }

   public String echoInOut3(String param)
   {
      log.info("echoInOut3: " + param);
      return param;
   }

   public String echoInOut4(String param)
   {
      log.info("echoInOut4: " + param);
      return param;
   }

   public void echoMix(String varInString, StringHolder varInOutString, StringHolder varOutString)
   {
      log.info("echoMix: " + varInString);
      varOutString.value = varInString;
   }

   public void echoInSimpleTypes(String varString, BigInteger varInteger, int varInt, long varLong, short varShort, BigDecimal varDecimal, float varFloat,
         double varDouble, boolean varBoolean, byte varByte, QName varQName, Calendar varDateTime, String varSoapString, Boolean varSoapBoolean, Float varSoapFloat,
         Double varSoapDouble, BigDecimal varSoapDecimal, Integer varSoapInt, Short varSoapShort, Byte varSoapByte, byte[] varBase64Binary, byte[] varHexBinary,
         byte[] varSoapBase64)
   {
      log.info("echoInSimpleTypes: " + varString);
      _varString = varString;
      _varInteger = varInteger;
      _varInt = varInt;
      _varLong = varLong;
      _varShort = varShort;
      _varDecimal = varDecimal;
      _varFloat = varFloat;
      _varDouble = varDouble;
      _varBoolean = varBoolean;
      _varByte = varByte;
      _varQName = varQName;
      _varDateTime = varDateTime;
      _varSoapString = varSoapString;
      _varSoapBoolean = varSoapBoolean;
      _varSoapFloat = varSoapFloat;
      _varSoapDouble = varSoapDouble;
      _varSoapDecimal = varSoapDecimal;
      _varSoapInt = varSoapInt;
      _varSoapShort = varSoapShort;
      _varSoapByte = varSoapByte;
      _varBase64Binary = varBase64Binary;
      _varHexBinary = varHexBinary;
      _varSoapBase64 = varSoapBase64;
   }

   public void echoOutSimpleTypes(StringHolder varString, BigIntegerHolder varInteger, IntHolder varInt, LongHolder varLong, ShortHolder varShort,
         BigDecimalHolder varDecimal, FloatHolder varFloat, DoubleHolder varDouble, BooleanHolder varBoolean, ByteHolder varByte, QNameHolder varQName,
         CalendarHolder varDateTime, StringHolder varSoapString, BooleanWrapperHolder varSoapBoolean, FloatWrapperHolder varSoapFloat,
         DoubleWrapperHolder varSoapDouble, BigDecimalHolder varSoapDecimal, IntegerWrapperHolder varSoapInt, ShortWrapperHolder varSoapShort,
         ByteWrapperHolder varSoapByte, ByteArrayHolder varBase64Binary, ByteArrayHolder varHexBinary, ByteArrayHolder varSoapBase64)
   {
      log.info("echoOutSimpleTypes: " + varString);
      varString.value = _varString;
      varInteger.value = _varInteger;
      varInt.value = _varInt;
      varLong.value = _varLong;
      varShort.value = _varShort;
      varDecimal.value = _varDecimal;
      varFloat.value = _varFloat;
      varDouble.value = _varDouble;
      varBoolean.value = _varBoolean;
      varByte.value = _varByte;
      varQName.value = _varQName;
      varDateTime.value = _varDateTime;
      varSoapString.value = _varSoapString;
      varSoapBoolean.value = _varSoapBoolean;
      varSoapFloat.value = _varSoapFloat;
      varSoapDouble.value = _varSoapDouble;
      varSoapDecimal.value = _varSoapDecimal;
      varSoapInt.value = _varSoapInt;
      varSoapShort.value = _varSoapShort;
      varSoapByte.value = _varSoapByte;
      varBase64Binary.value = _varBase64Binary;
      varHexBinary.value = _varHexBinary;
      varSoapBase64.value = _varSoapBase64;
   }

   public void echoInOutSimpleTypes(StringHolder varString, BigIntegerHolder varInteger, IntHolder varInt, LongHolder varLong, ShortHolder varShort,
         BigDecimalHolder varDecimal, FloatHolder varFloat, DoubleHolder varDouble, BooleanHolder varBoolean, ByteHolder varByte, QNameHolder varQName,
         CalendarHolder varDateTime, StringHolder varSoapString, BooleanWrapperHolder varSoapBoolean, FloatWrapperHolder varSoapFloat,
         DoubleWrapperHolder varSoapDouble, BigDecimalHolder varSoapDecimal, IntegerWrapperHolder varSoapInt, ShortWrapperHolder varSoapShort,
         ByteWrapperHolder varSoapByte, ByteArrayHolder varBase64Binary, ByteArrayHolder varHexBinary, ByteArrayHolder varSoapBase64)
   {
      log.info("echoInOutSimpleTypes: " + varString);
   }

   public void echoInEnum(EnumString varEnumString, EnumInteger varEnumInteger, EnumInt varEnumInt, EnumLong varEnumLong, EnumShort varEnumShort,
         EnumDecimal varEnumDecimal, EnumFloat varEnumFloat, EnumDouble varEnumDouble, EnumByte varEnumByte)
   {
      log.info("echoInEnum: " + varEnumString);
      _varEnumString = varEnumString;
      _varEnumInteger = varEnumInteger;
      _varEnumInt = varEnumInt;
      _varEnumLong = varEnumLong;
      _varEnumShort = varEnumShort;
      _varEnumDecimal = varEnumDecimal;
      _varEnumFloat = varEnumFloat;
      _varEnumDouble = varEnumDouble;
      _varEnumByte = varEnumByte;
   }

   public void echoOutEnum(EnumStringHolder varEnumString, EnumIntegerHolder varEnumInteger, EnumIntHolder varEnumInt, EnumLongHolder varEnumLong,
         EnumShortHolder varEnumShort, EnumDecimalHolder varEnumDecimal, EnumFloatHolder varEnumFloat, EnumDoubleHolder varEnumDouble, EnumByteHolder varEnumByte)
   {
      log.info("echoOutEnum: " + varEnumString);
      varEnumString.value = _varEnumString;
      varEnumInteger.value = _varEnumInteger;
      varEnumInt.value = _varEnumInt;
      varEnumLong.value = _varEnumLong;
      varEnumShort.value = _varEnumShort;
      varEnumDecimal.value = _varEnumDecimal;
      varEnumFloat.value = _varEnumFloat;
      varEnumDouble.value = _varEnumDouble;
      varEnumByte.value = _varEnumByte;
   }

   public void echoInOutEnum(EnumStringHolder varEnumString, EnumIntegerHolder varEnumInteger, EnumIntHolder varEnumInt, EnumLongHolder varEnumLong,
         EnumShortHolder varEnumShort, EnumDecimalHolder varEnumDecimal, EnumFloatHolder varEnumFloat, EnumDoubleHolder varEnumDouble, EnumByteHolder varEnumByte)
   {
      log.info("echoInOutEnum: " + varEnumString);
   }

   public void echoInStruct(AllStruct varStruct)
   {
      log.info("echoInStruct: " + varStruct);
      _varString = varStruct.varString;
      _varInteger = varStruct.varInteger;
      _varInt = varStruct.varInt;
      _varLong = varStruct.varLong;
      _varShort = varStruct.varShort;
      _varDecimal = varStruct.varDecimal;
      _varFloat = varStruct.varFloat;
      _varDouble = varStruct.varDouble;
      _varBoolean = varStruct.varBoolean;
      _varByte = varStruct.varByte;
      _varQName = varStruct.varQName;
      _varDateTime = varStruct.varDateTime;
      _varSoapString = varStruct.varSoapString;
      _varSoapBoolean = varStruct.varSoapBoolean;
      _varSoapFloat = varStruct.varSoapFloat;
      _varSoapDouble = varStruct.varSoapDouble;
      _varSoapDecimal = varStruct.varSoapDecimal;
      _varSoapInt = varStruct.varSoapInt;
      _varSoapShort = varStruct.varSoapShort;
      _varSoapByte = varStruct.varSoapByte;
      _varBase64Binary = varStruct.varBase64Binary;
      _varHexBinary = varStruct.varHexBinary;
      _varSoapBase64 = varStruct.varSoapBase64;
   }

   public void echoInOutSimpleTypesArray(ArrayOfstringHolder varString, ArrayOfintegerHolder varInteger, ArrayOfintHolder varInt, ArrayOflongHolder varLong,
         ArrayOfshortHolder varShort, ArrayOfdecimalHolder varDecimal, ArrayOffloatHolder varFloat, ArrayOfdoubleHolder varDouble, ArrayOfbooleanHolder varBoolean,
         ArrayOfbyteHolder varByte, ArrayOfQNameHolder varQName, ArrayOfdateTimeHolder varDateTime)
   {
      log.info("echoInOutSimpleTypesArray: " + varString);
   }

   public void echoInOutBook(BookHolder varBook)
   {
      log.info("echoInOutBook: " + varBook);
   }

   public void echoInOutBookArray(ArrayOfBookHolder varBook)
   {
      log.info("echoInOutBookArray: " + varBook);
   }
}
