Examples of HproseReader


Examples of hprose.io.HproseReader

    private Object doInput(Object[] arguments, Class returnType, HproseResultMode resultMode, InputStream istream) throws IOException {
        int tag;
        if (filter != null) istream = filter.inputFilter(istream);
        Object result = null;
        HproseReader hproseReader = new HproseReader(istream);
        ByteArrayOutputStream bytestream = null;
        if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
            bytestream = new ByteArrayOutputStream();
        }
        while ((tag = hproseReader.checkTags(
                (char) HproseTags.TagResult + "" +
                (char) HproseTags.TagArgument + "" +
                (char) HproseTags.TagError + "" +
                (char) HproseTags.TagEnd)) != HproseTags.TagEnd) {
            switch (tag) {
                case HproseTags.TagResult:
                    if (resultMode == HproseResultMode.Normal) {
                        hproseReader.reset();
                        result = hproseReader.unserialize(returnType);
                    }
                    else if (resultMode == HproseResultMode.Serialized) {
                        result = hproseReader.readRaw();
                    }
                    else {
                        bytestream.write(HproseTags.TagResult);
                        hproseReader.readRaw(bytestream);
                    }
                    break;
                case HproseTags.TagArgument:
                    if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
                        bytestream.write(HproseTags.TagArgument);
                        hproseReader.readRaw(bytestream);
                    }
                    else {
                        hproseReader.reset();
                        Object[] args = (Object[]) hproseReader.readList(HproseHelper.ObjectArrayClass);
                        System.arraycopy(args, 0, arguments, 0, arguments.length);
                    }
                    break;
                case HproseTags.TagError:
                    if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
                        bytestream.write(HproseTags.TagError);
                        hproseReader.readRaw(bytestream);
                    }
                    else {
                        hproseReader.reset();
                        result = new HproseException((String) hproseReader.readString());
                    }
                    break;
            }
        }
        if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
View Full Code Here

Examples of hprose.io.HproseReader

    private Object doInput(Object[] arguments, Class returnType, HproseResultMode resultMode, InputStream istream) throws IOException {
        int tag;
        if (filter != null) istream = filter.inputFilter(istream);
        Object result = null;
        HproseReader hproseReader = new HproseReader(istream, mode);
        ByteArrayOutputStream bytestream = null;
        if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
            bytestream = new ByteArrayOutputStream();
        }
        while ((tag = hproseReader.checkTags(
                (char) HproseTags.TagResult + "" +
                (char) HproseTags.TagArgument + "" +
                (char) HproseTags.TagError + "" +
                (char) HproseTags.TagEnd)) != HproseTags.TagEnd) {
            switch (tag) {
                case HproseTags.TagResult:
                    if (resultMode == HproseResultMode.Normal) {
                        hproseReader.reset();
                        result = hproseReader.unserialize(returnType);
                    }
                    else if (resultMode == HproseResultMode.Serialized) {
                        result = hproseReader.readRaw();
                    }
                    else {
                        bytestream.write(HproseTags.TagResult);
                        hproseReader.readRaw(bytestream);
                    }
                    break;
                case HproseTags.TagArgument:
                    if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
                        bytestream.write(HproseTags.TagArgument);
                        hproseReader.readRaw(bytestream);
                    }
                    else {
                        hproseReader.reset();
                        Object[] args = (Object[]) hproseReader.readList(Object[].class);
                        System.arraycopy(args, 0, arguments, 0, arguments.length);
                    }
                    break;
                case HproseTags.TagError:
                    if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
                        bytestream.write(HproseTags.TagError);
                        hproseReader.readRaw(bytestream);
                    }
                    else {
                        hproseReader.reset();
                        result = new HproseException((String) hproseReader.readString());
                    }
                    break;
            }
        }
        if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
View Full Code Here

Examples of hprose.io.HproseReader

        data.write(HproseTags.TagEnd);
        responseEnd(ostream, data, error);
    }

    protected void doInvoke(InputStream istream, OutputStream ostream, HproseMethods methods) throws Throwable {
        HproseReader reader = new HproseReader(istream, mode);
        ByteArrayOutputStream data = new ByteArrayOutputStream();
        HproseWriter writer = new HproseWriter(data, mode);
        int tag;
        do {
            reader.reset();
            String name = ((String) reader.readString());
            String aliasname = name.toLowerCase();
            HproseMethod remoteMethod = null;
            int count = 0;
            Object[] args, arguments;
            boolean byRef = false;
            tag = reader.checkTags((char) HproseTags.TagList + "" +
                                   (char) HproseTags.TagEnd + "" +
                                   (char) HproseTags.TagCall);
            if (tag == HproseTags.TagList) {
                reader.reset();
                count = reader.readInt(HproseTags.TagOpenbrace);
                if (methods != null) {
                    remoteMethod = methods.get(aliasname, count);
                }
                if (remoteMethod == null) {
                    remoteMethod = getGlobalMethods().get(aliasname, count);
                }
                if (remoteMethod == null) {
                    arguments = reader.readArray(count);
                }
                else {
                    arguments = new Object[count];
                    reader.readArray(remoteMethod.paramTypes, arguments, count);
                }
                reader.checkTag(HproseTags.TagClosebrace);
                tag = reader.checkTags((char) HproseTags.TagTrue + "" +
                                       (char) HproseTags.TagEnd + "" +
                                       (char) HproseTags.TagCall);
                if (tag == HproseTags.TagTrue) {
                    byRef = true;
                    tag = reader.checkTags((char) HproseTags.TagEnd + "" +
                                           (char) HproseTags.TagCall);
                }
            }
            else {
                if (methods != null) {
View Full Code Here

Examples of hprose.io.HproseReader

    private Object doInput(Object[] arguments, Class returnType, HproseResultMode resultMode, InputStream istream) throws IOException {
        int tag;
        if (filter != null) istream = filter.inputFilter(istream);
        Object result = null;
        HproseReader hproseReader = new HproseReader(istream);
        ByteArrayOutputStream bytestream = null;
        if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
            bytestream = new ByteArrayOutputStream();
        }
        while ((tag = hproseReader.checkTags(
                (char) HproseTags.TagResult + "" +
                (char) HproseTags.TagArgument + "" +
                (char) HproseTags.TagError + "" +
                (char) HproseTags.TagEnd)) != HproseTags.TagEnd) {
            switch (tag) {
                case HproseTags.TagResult:
                    if (resultMode == HproseResultMode.Normal) {
                        hproseReader.reset();
                        result = hproseReader.unserialize(returnType);
                    }
                    else if (resultMode == HproseResultMode.Serialized) {
                        result = hproseReader.readRaw();
                    }
                    else {
                        bytestream.write(HproseTags.TagResult);
                        hproseReader.readRaw(bytestream);
                    }
                    break;
                case HproseTags.TagArgument:
                    if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
                        bytestream.write(HproseTags.TagArgument);
                        hproseReader.readRaw(bytestream);
                    }
                    else {
                        hproseReader.reset();
                        Object[] args = (Object[]) hproseReader.readList(Object[].class);
                        System.arraycopy(args, 0, arguments, 0, arguments.length);
                    }
                    break;
                case HproseTags.TagError:
                    if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
                        bytestream.write(HproseTags.TagError);
                        hproseReader.readRaw(bytestream);
                    }
                    else {
                        hproseReader.reset();
                        result = new HproseException((String) hproseReader.readString());
                    }
                    break;
            }
        }
        if (resultMode == HproseResultMode.RawWithEndTag || resultMode == HproseResultMode.Raw) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.