hprose.io.HproseFormatter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hprose-java Show documentation
Show all versions of hprose-java Show documentation
Hprose is a High Performance Remote Object Service Engine.
It is a modern, lightweight, cross-language, cross-platform, object-oriented, high performance, remote dynamic communication middleware. It is not only easy to use, but powerful. You just need a little time to learn, then you can use it to easily construct cross language cross platform distributed application system.
Hprose supports many programming languages, for example:
* AAuto Quicker
* ActionScript
* ASP
* C++
* Dart
* Delphi/Free Pascal
* dotNET(C#, Visual Basic...)
* Golang
* Java
* JavaScript
* Node.js
* Objective-C
* Perl
* PHP
* Python
* Ruby
* ...
Through Hprose, You can conveniently and efficiently intercommunicate between those programming languages.
This project is the implementation of Hprose for Java.
/**********************************************************\
| |
| hprose |
| |
| Official WebSite: http://www.hprose.com/ |
| http://www.hprose.org/ |
| |
\**********************************************************/
/**********************************************************\
* *
* HproseFormatter.java *
* *
* hprose formatter class for Java. *
* *
* LastModified: Apr 17, 2016 *
* Author: Ma Bingyao *
* *
\**********************************************************/
package hprose.io;
import hprose.io.serialize.ValueWriter;
import hprose.io.serialize.Writer;
import hprose.io.unserialize.Reader;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.nio.ByteBuffer;
public final class HproseFormatter {
final static class Cache {
final Object obj;
final HproseMode mode;
final boolean simple;
final byte[] buffer;
public Cache(Object o, HproseMode m, boolean s, byte[] b) {
obj = o;
mode = m;
simple = s;
buffer = b;
}
}
private static final ThreadLocal cache = new ThreadLocal();
private HproseFormatter() {
}
public final static OutputStream serialize(byte b, OutputStream stream) throws IOException {
ValueWriter.write(stream, b);
return stream;
}
public final static OutputStream serialize(short s, OutputStream stream) throws IOException {
ValueWriter.write(stream, s);
return stream;
}
public final static OutputStream serialize(int i, OutputStream stream) throws IOException {
ValueWriter.write(stream, i);
return stream;
}
public final static OutputStream serialize(long l, OutputStream stream) throws IOException {
ValueWriter.write(stream, l);
return stream;
}
public final static OutputStream serialize(float f, OutputStream stream) throws IOException {
ValueWriter.write(stream, f);
return stream;
}
public final static OutputStream serialize(double d, OutputStream stream) throws IOException {
ValueWriter.write(stream, d);
return stream;
}
public final static OutputStream serialize(boolean b, OutputStream stream) throws IOException {
ValueWriter.write(stream, b);
return stream;
}
public final static OutputStream serialize(char c, OutputStream stream) throws IOException {
ValueWriter.write(stream, c);
return stream;
}
public final static OutputStream serialize(BigInteger bi, OutputStream stream) throws IOException {
ValueWriter.write(stream, bi);
return stream;
}
public final static OutputStream serialize(BigDecimal bd, OutputStream stream) throws IOException {
ValueWriter.write(stream, bd);
return stream;
}
public final static OutputStream serialize(Object obj, OutputStream stream) throws IOException {
return serialize(obj, stream, HproseMode.MemberMode, false);
}
public final static OutputStream serialize(Object obj, OutputStream stream, boolean simple) throws IOException {
return serialize(obj, stream, HproseMode.MemberMode, simple);
}
public final static OutputStream serialize(Object obj, OutputStream stream, HproseMode mode) throws IOException {
return serialize(obj, stream, mode, false);
}
public final static OutputStream serialize(Object obj, OutputStream stream, HproseMode mode, boolean simple) throws IOException {
Writer writer = new Writer(stream, mode, simple);
writer.serialize(obj);
return stream;
}
public final static ByteBufferStream serialize(byte b) throws IOException {
ByteBufferStream bufstream = new ByteBufferStream(8);
serialize(b, bufstream.getOutputStream());
bufstream.flip();
return bufstream;
}
public final static ByteBufferStream serialize(short s) throws IOException {
ByteBufferStream bufstream = new ByteBufferStream(8);
serialize(s, bufstream.getOutputStream());
bufstream.flip();
return bufstream;
}
public final static ByteBufferStream serialize(int i) throws IOException {
ByteBufferStream bufstream = new ByteBufferStream(16);
serialize(i, bufstream.getOutputStream());
bufstream.flip();
return bufstream;
}
public final static ByteBufferStream serialize(long l) throws IOException {
ByteBufferStream bufstream = new ByteBufferStream(32);
serialize(l, bufstream.getOutputStream());
bufstream.flip();
return bufstream;
}
public final static ByteBufferStream serialize(float f) throws IOException {
ByteBufferStream bufstream = new ByteBufferStream(32);
serialize(f, bufstream.getOutputStream());
bufstream.flip();
return bufstream;
}
public final static ByteBufferStream serialize(double d) throws IOException {
ByteBufferStream bufstream = new ByteBufferStream(32);
serialize(d, bufstream.getOutputStream());
bufstream.flip();
return bufstream;
}
public final static ByteBufferStream serialize(boolean b) throws IOException {
ByteBufferStream bufstream = new ByteBufferStream(1);
serialize(b, bufstream.getOutputStream());
bufstream.flip();
return bufstream;
}
public final static ByteBufferStream serialize(char c) throws IOException {
ByteBufferStream bufstream = new ByteBufferStream(4);
serialize(c, bufstream.getOutputStream());
bufstream.flip();
return bufstream;
}
public final static ByteBufferStream serialize(Object obj) throws IOException {
return serialize(obj, HproseMode.MemberMode, false);
}
public final static ByteBufferStream serialize(Object obj, HproseMode mode) throws IOException {
return serialize(obj, mode, false);
}
public final static ByteBufferStream serialize(Object obj, boolean simple) throws IOException {
return serialize(obj, HproseMode.MemberMode, simple);
}
public final static ByteBufferStream serialize(Object obj, HproseMode mode, boolean simple) throws IOException {
ByteBufferStream bufstream = new ByteBufferStream();
Cache c = cache.get();
if ((c != null) &&
(obj == c.obj) &&
(mode == c.mode) &&
(simple == c.simple)) {
bufstream.write(c.buffer);
return bufstream;
}
else {
serialize(obj, bufstream.getOutputStream(), mode, simple);
cache.set(new Cache(obj, mode, simple, bufstream.toArray()));
bufstream.flip();
return bufstream;
}
}
public final static Object unserialize(ByteBufferStream stream) throws IOException {
Reader reader = new Reader(stream.buffer);
return reader.unserialize();
}
public final static Object unserialize(ByteBufferStream stream, HproseMode mode) throws IOException {
Reader reader = new Reader(stream.buffer, mode);
return reader.unserialize();
}
public final static Object unserialize(ByteBufferStream stream, boolean simple) throws IOException {
Reader reader = new Reader(stream.buffer, simple);
return reader.unserialize();
}
public final static Object unserialize(ByteBufferStream stream, HproseMode mode, boolean simple) throws IOException {
Reader reader = new Reader(stream.buffer, mode, simple);
return reader.unserialize();
}
public final static T unserialize(ByteBufferStream stream, Class type) throws IOException {
Reader reader = new Reader(stream.buffer);
return reader.unserialize(type);
}
public final static T unserialize(ByteBufferStream stream, HproseMode mode, Class type) throws IOException {
Reader reader = new Reader(stream.buffer, mode);
return reader.unserialize(type);
}
public final static T unserialize(ByteBufferStream stream, boolean simple, Class type) throws IOException {
Reader reader = new Reader(stream.buffer, simple);
return reader.unserialize(type);
}
public final static T unserialize(ByteBufferStream stream, HproseMode mode, boolean simple, Class type) throws IOException {
Reader reader = new Reader(stream.buffer, mode, simple);
return reader.unserialize(type);
}
public final static Object unserialize(ByteBuffer data) throws IOException {
Reader reader = new Reader(data);
return reader.unserialize();
}
public final static Object unserialize(ByteBuffer data, HproseMode mode) throws IOException {
Reader reader = new Reader(data, mode);
return reader.unserialize();
}
public final static Object unserialize(ByteBuffer data, boolean simple) throws IOException {
Reader reader = new Reader(data, simple);
return reader.unserialize();
}
public final static Object unserialize(ByteBuffer data, HproseMode mode, boolean simple) throws IOException {
Reader reader = new Reader(data, mode, simple);
return reader.unserialize();
}
public final static T unserialize(ByteBuffer data, Class type) throws IOException {
Reader reader = new Reader(data);
return reader.unserialize(type);
}
public final static T unserialize(ByteBuffer data, HproseMode mode, Class type) throws IOException {
Reader reader = new Reader(data, mode);
return reader.unserialize(type);
}
public final static T unserialize(ByteBuffer data, boolean simple, Class type) throws IOException {
Reader reader = new Reader(data, simple);
return reader.unserialize(type);
}
public final static T unserialize(ByteBuffer data, HproseMode mode, boolean simple, Class type) throws IOException {
Reader reader = new Reader(data, mode, simple);
return reader.unserialize(type);
}
public final static Object unserialize(byte[] data) throws IOException {
Reader reader = new Reader(data);
return reader.unserialize();
}
public final static Object unserialize(byte[] data, HproseMode mode) throws IOException {
Reader reader = new Reader(data, mode);
return reader.unserialize();
}
public final static Object unserialize(byte[] data, boolean simple) throws IOException {
Reader reader = new Reader(data, simple);
return reader.unserialize();
}
public final static Object unserialize(byte[] data, HproseMode mode, boolean simple) throws IOException {
Reader reader = new Reader(data, mode, simple);
return reader.unserialize();
}
public final static T unserialize(byte[] data, Class type) throws IOException {
Reader reader = new Reader(data);
return reader.unserialize(type);
}
public final static T unserialize(byte[] data, HproseMode mode, Class type) throws IOException {
Reader reader = new Reader(data, mode);
return reader.unserialize(type);
}
public final static T unserialize(byte[] data, boolean simple, Class type) throws IOException {
Reader reader = new Reader(data, simple);
return reader.unserialize(type);
}
public final static T unserialize(byte[] data, HproseMode mode, boolean simple, Class type) throws IOException {
Reader reader = new Reader(data, mode, simple);
return reader.unserialize(type);
}
public final static Object unserialize(InputStream stream) throws IOException {
Reader reader = new Reader(stream);
return reader.unserialize();
}
public final static Object unserialize(InputStream stream, HproseMode mode) throws IOException {
Reader reader = new Reader(stream, mode);
return reader.unserialize();
}
public final static Object unserialize(InputStream stream, boolean simple) throws IOException {
Reader reader = new Reader(stream, simple);
return reader.unserialize();
}
public final static Object unserialize(InputStream stream, HproseMode mode, boolean simple) throws IOException {
Reader reader = new Reader(stream, mode, simple);
return reader.unserialize();
}
public final static T unserialize(InputStream stream, Class type) throws IOException {
Reader reader = new Reader(stream);
return reader.unserialize(type);
}
public final static T unserialize(InputStream stream, HproseMode mode, Class type) throws IOException {
Reader reader = new Reader(stream, mode);
return reader.unserialize(type);
}
public final static T unserialize(InputStream stream, boolean simple, Class type) throws IOException {
Reader reader = new Reader(stream, simple);
return reader.unserialize(type);
}
public final static T unserialize(InputStream stream, HproseMode mode, boolean simple, Class type) throws IOException {
Reader reader = new Reader(stream, mode, simple);
return reader.unserialize(type);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy