Package com.landawn.abacus.parser
Class KryoParser
- java.lang.Object
-
- com.landawn.abacus.parser.KryoParser
-
- All Implemented Interfaces:
Parser<KryoSerializationConfig,KryoDeserializationConfig>
public final class KryoParser extends Object
The content is encoded with Base64 if the target output is String or Writer, otherwise the content is NOT encoded with Base64 if the target output is File or OutputStream. So content must be encoded with Base64 if the specified input is String or Reader, otherwise the content must NOT be encoded with Base64 if the specified input is File or InputStream. The reason not to encoded the content with Base64 for File/OutputStream is to provide higher performance solution.- Since:
- 0.8
- Author:
- Haiyang Li
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
clone(T obj)
Copy the property values deeply.<T> T
copy(T obj)
Copy the property values shallowly.<T> T
decode(byte[] bytes)
<T> T
deserialize(Class<T> targetClass, File file)
<T> T
deserialize(Class<T> targetClass, File file, KryoDeserializationConfig config)
<T> T
deserialize(Class<T> targetClass, InputStream is)
<T> T
deserialize(Class<T> targetClass, InputStream is, KryoDeserializationConfig config)
<T> T
deserialize(Class<T> targetClass, Reader reader)
<T> T
deserialize(Class<T> targetClass, Reader reader, KryoDeserializationConfig config)
<T> T
deserialize(Class<T> targetClass, String st)
<T> T
deserialize(Class<T> targetClass, String st, KryoDeserializationConfig config)
byte[]
encode(Object obj)
void
register(Class<?> cls, int id)
void
register(Class<?> cls, com.esotericsoftware.kryo.Serializer<?> serializer)
void
serialize(File file, Object obj)
void
serialize(File file, Object obj, KryoSerializationConfig config)
void
serialize(OutputStream os, Object obj)
void
serialize(OutputStream os, Object obj, KryoSerializationConfig config)
void
serialize(Writer writer, Object obj)
void
serialize(Writer writer, Object obj, KryoSerializationConfig config)
String
serialize(Object obj)
String
serialize(Object obj, KryoSerializationConfig config)
-
-
-
Method Detail
-
serialize
public String serialize(Object obj, KryoSerializationConfig config)
- Parameters:
obj
-config
-- Returns:
- a Base64 encoded String
-
serialize
public void serialize(File file, Object obj, KryoSerializationConfig config)
- Parameters:
file
- content is NOT encoded with base64obj
-config
-
-
serialize
public void serialize(OutputStream os, Object obj, KryoSerializationConfig config)
- Parameters:
os
- content is NOT encoded with base64obj
-config
-
-
serialize
public void serialize(Writer writer, Object obj, KryoSerializationConfig config)
- Parameters:
writer
- content is encoded with base64obj
-config
-
-
deserialize
public <T> T deserialize(Class<T> targetClass, String st, KryoDeserializationConfig config)
- Type Parameters:
T
-- Parameters:
targetClass
-st
- A Base64 encoded Stringconfig
-- Returns:
-
deserialize
public <T> T deserialize(Class<T> targetClass, File file, KryoDeserializationConfig config)
- Type Parameters:
T
-- Parameters:
targetClass
-file
-config
-- Returns:
-
deserialize
public <T> T deserialize(Class<T> targetClass, InputStream is, KryoDeserializationConfig config)
- Type Parameters:
T
-- Parameters:
targetClass
-is
-config
-- Returns:
-
deserialize
public <T> T deserialize(Class<T> targetClass, Reader reader, KryoDeserializationConfig config)
- Type Parameters:
T
-- Parameters:
targetClass
-reader
- content is encoded with base64config
-- Returns:
-
copy
public <T> T copy(T obj)
Copy the property values shallowly.- Type Parameters:
T
-- Parameters:
obj
-- Returns:
-
clone
public <T> T clone(T obj)
Copy the property values deeply.- Type Parameters:
T
-- Parameters:
obj
-- Returns:
-
encode
public byte[] encode(Object obj)
- Parameters:
obj
-- Returns:
-
decode
public <T> T decode(byte[] bytes)
- Type Parameters:
T
-- Parameters:
bytes
-- Returns:
-
register
public void register(Class<?> cls, int id)
- Parameters:
cls
-id
-
-
register
public void register(Class<?> cls, com.esotericsoftware.kryo.Serializer<?> serializer)
- Parameters:
cls
-serializer
-
-
serialize
public String serialize(Object obj)
- Specified by:
serialize
in interfaceParser<SC extends SerializationConfig<?>,DC extends DeserializationConfig<?>>
- Parameters:
obj
-- Returns:
-
serialize
public void serialize(File file, Object obj)
- Specified by:
serialize
in interfaceParser<SC extends SerializationConfig<?>,DC extends DeserializationConfig<?>>
- Parameters:
file
-obj
-
-
serialize
public void serialize(OutputStream os, Object obj)
- Specified by:
serialize
in interfaceParser<SC extends SerializationConfig<?>,DC extends DeserializationConfig<?>>
- Parameters:
os
-obj
-
-
serialize
public void serialize(Writer writer, Object obj)
- Specified by:
serialize
in interfaceParser<SC extends SerializationConfig<?>,DC extends DeserializationConfig<?>>
- Parameters:
writer
-obj
-
-
deserialize
public <T> T deserialize(Class<T> targetClass, String st)
- Specified by:
deserialize
in interfaceParser<SC extends SerializationConfig<?>,DC extends DeserializationConfig<?>>
- Type Parameters:
T
-- Parameters:
targetClass
-st
-- Returns:
-
deserialize
public <T> T deserialize(Class<T> targetClass, File file)
- Specified by:
deserialize
in interfaceParser<SC extends SerializationConfig<?>,DC extends DeserializationConfig<?>>
- Type Parameters:
T
-- Parameters:
targetClass
-file
-- Returns:
-
deserialize
public <T> T deserialize(Class<T> targetClass, InputStream is)
- Specified by:
deserialize
in interfaceParser<SC extends SerializationConfig<?>,DC extends DeserializationConfig<?>>
- Type Parameters:
T
-- Parameters:
targetClass
-is
-- Returns:
-
deserialize
public <T> T deserialize(Class<T> targetClass, Reader reader)
- Specified by:
deserialize
in interfaceParser<SC extends SerializationConfig<?>,DC extends DeserializationConfig<?>>
- Type Parameters:
T
-- Parameters:
targetClass
-reader
-- Returns:
-
-