public void getByteArray(TransferOutputStream touts) {
     touts.writeBoolean(allTypeBean.isAboolean());
     touts.writeByte(allTypeBean.getAbyte());
     touts.writeShort(allTypeBean.getAshort());
     touts.writeChar(allTypeBean.getAchar());
     touts.writeInt(allTypeBean.getAint());
     touts.writeLong(allTypeBean.getAlong());
     touts.writeFloat(allTypeBean.getAfloat());
     touts.writeDouble(allTypeBean.getAdouble());
     touts.writeDate(allTypeBean.getAdate());
     touts.writeString(allTypeBean.getAstring());
 }
        public static void getByteArray(Dictionary<String, Boolean> booleanMap, TransferOutputStream touts) {

            foreach (KeyValuePair<String, Boolean> item in booleanMap) {
                // type
                touts.writeByte(TransferObject.DATATYPE_BOOLEAN);
                // key
                String key = item.Key;
                touts.writeString(key);
                // value
                bool value = item.Value;
                touts.writeBoolean(value);
            }
        }
        public override byte[] getByteData() {

            int blength = getByteArrayLength();

            byte[] byteArray = new byte[TransferUtil.getLengthOfInt() + blength];

            TransferOutputStream touts = new TransferOutputStream(byteArray);
            touts.writeInt(blength);
            touts.writeString(calleeClass);
            touts.writeString(calleeMethod);
            touts.writeByte(returnType);
            touts.writeBoolean(compress);

            foreach (ValueObject vo in paramList) {
                if (vo.dataType == DATATYPE_BOOLEAN) {
                    touts.writeByte(DATATYPE_BOOLEAN);
                    touts.writeBoolean((bool)vo.dataObject);
                } else if (vo.dataType == DATATYPE_BYTE) {
                    touts.writeByte(DATATYPE_BYTE);
                    touts.writeByte((byte)vo.dataObject);
                } else if (vo.dataType == DATATYPE_SHORT) {
                    touts.writeByte(DATATYPE_SHORT);
                    touts.writeShort((short)vo.dataObject);
                } else if (vo.dataType == DATATYPE_CHAR) {
                    touts.writeByte(DATATYPE_CHAR);
                    touts.writeChar((char)vo.dataObject);
                } else if (vo.dataType == DATATYPE_INT) {
                    touts.writeByte(DATATYPE_INT);
                    touts.writeInt((int)vo.dataObject);
                } else if (vo.dataType == DATATYPE_LONG) {
                    touts.writeByte(DATATYPE_LONG);
                    touts.writeLong((long)vo.dataObject);
                } else if (vo.dataType == DATATYPE_FLOAT) {
                    touts.writeByte(DATATYPE_FLOAT);
                    touts.writeFloat((float)vo.dataObject);
                } else if (vo.dataType == DATATYPE_DOUBLE) {
                    touts.writeByte(DATATYPE_DOUBLE);
                    touts.writeDouble((double)vo.dataObject);
                } else if (vo.dataType == DATATYPE_DATE) {
                    touts.writeByte(DATATYPE_DATE);
                    touts.writeDate((DateTime)vo.dataObject);
                } else if (vo.dataType == DATATYPE_STRING) {
                    touts.writeByte(DATATYPE_STRING);
                    touts.writeString((string)vo.dataObject);

                } else if (vo.dataType == DATATYPE_BYTEARRAY) {
                    touts.writeByte(DATATYPE_BYTEARRAY);
                    touts.writeByteArray((byte[])vo.dataObject);
                } else if (vo.dataType == DATATYPE_INTARRAY) {
                    touts.writeByte(DATATYPE_INTARRAY);
                    touts.writeIntArray((int[])vo.dataObject);
                } else if (vo.dataType == DATATYPE_LONGARRAY) {
                    touts.writeByte(DATATYPE_LONGARRAY);
                    touts.writeLongArray((long[])vo.dataObject);
                } else if (vo.dataType == DATATYPE_FLOATARRAY) {
                    touts.writeByte(DATATYPE_FLOATARRAY);
                    touts.writeFloatArray((float[])vo.dataObject);
                } else if (vo.dataType == DATATYPE_DOUBLEARRAY) {
                    touts.writeByte(DATATYPE_DOUBLEARRAY);
                    touts.writeDoubleArray((double[])vo.dataObject);
                } else if (vo.dataType == DATATYPE_STRINGARRAY) {
                    touts.writeByte(DATATYPE_STRINGARRAY);
                    touts.writeStringArray((string[])vo.dataObject);

                } else if (vo.dataType == DATATYPE_WRAPPER) {
                    touts.writeByte(DATATYPE_WRAPPER);
                    touts.writeWrapper((TransferObjectWrapper)vo.dataObject);
                }

            }

            return byteArray;
        }
        public override byte[] getByteData() {

            int blength = getByteArrayLength();

            byte[] byteArray = new byte[TransferUtil.getLengthOfInt() + blength];

            TransferOutputStream touts = new TransferOutputStream(byteArray);
            touts.writeInt(blength);
            touts.writeString(calleeClass);
            touts.writeString(calleeMethod);
            touts.writeByte(returnType);
            touts.writeBoolean(compress);

            BooleanMapHelper.getByteArray(booleanMap, touts);
            ByteMapHelper.getByteArray(byteMap, touts);
            ShortMapHelper.getByteArray(shortMap, touts);
            CharMapHelper.getByteArray(charMap, touts);
            IntMapHelper.getByteArray(intMap, touts);
            LongMapHelper.getByteArray(longMap, touts);
            FloatMapHelper.getByteArray(floatMap, touts);
            DoubleMapHelper.getByteArray(doubleMap, touts);
            DateMapHelper.getByteArray(dateMap, touts);
            StringMapHelper.getByteArray(stringMap, touts);
            WrapperMapHelper.getByteArray(wrapperMap, touts);

            ByteArrayMapHelper.getByteArray(byteArrayMap, touts);
            IntArrayMapHelper.getByteArray(intArrayMap, touts);
            LongArrayMapHelper.getByteArray(longArrayMap, touts);
            FloatArrayMapHelper.getByteArray(floatArrayMap, touts);
            DoubleArrayMapHelper.getByteArray(doubleArrayMap, touts);
            StringArrayMapHelper.getByteArray(stringArrayMap, touts);

            return byteArray;
        }