Module bus.cache

Class AbstractSerializer

java.lang.Object
org.miaixz.bus.cache.support.serialize.AbstractSerializer
All Implemented Interfaces:
BaseSerializer
Direct Known Subclasses:
FastJsonSerializer, Hessian2Serializer, JdkGzipSerializer, JdkSerializer

public abstract class AbstractSerializer extends Object implements BaseSerializer
抽象序列化器

提供序列化和反序列化的基本框架,包含异常处理和日志记录功能。 子类需要实现具体的序列化和反序列化逻辑。

Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • AbstractSerializer

      public AbstractSerializer()
  • Method Details

    • doSerialize

      protected abstract byte[] doSerialize(Object object) throws Throwable
      执行序列化操作
      Parameters:
      object - 要序列化的对象
      Returns:
      序列化后的字节数组
      Throws:
      Throwable - 可能抛出的异常
    • doDeserialize

      protected abstract Object doDeserialize(byte[] bytes) throws Throwable
      执行反序列化操作
      Parameters:
      bytes - 要反序列化的字节数组
      Returns:
      反序列化后的对象
      Throws:
      Throwable - 可能抛出的异常
    • serialize

      public <T> byte[] serialize(T object)
      序列化对象
      Specified by:
      serialize in interface BaseSerializer
      Type Parameters:
      T - 对象类型
      Parameters:
      object - 要序列化的对象
      Returns:
      序列化后的字节数组,如果对象为null或序列化失败则返回null
    • deserialize

      public <T> T deserialize(byte[] bytes)
      反序列化字节数组
      Specified by:
      deserialize in interface BaseSerializer
      Type Parameters:
      T - 对象类型
      Parameters:
      bytes - 要反序列化的字节数组
      Returns:
      反序列化后的对象,如果字节数组为null或反序列化失败则返回null