java.lang.Object
io.github.lunasaw.gb28181.common.entity.control.instruction.serializer.PTZInstructionSerializer

public class PTZInstructionSerializer extends Object
PTZ指令序列化器 提供多种序列化/反序列化方式
  • Constructor Details

    • PTZInstructionSerializer

      public PTZInstructionSerializer()
  • Method Details

    • serializeToBytes

      public static byte[] serializeToBytes(PTZInstructionFormat instruction)
      序列化为字节数组
      Parameters:
      instruction - PTZ指令
      Returns:
      字节数组
    • deserializeFromBytes

      public static PTZInstructionFormat deserializeFromBytes(byte[] bytes)
      从字节数组反序列化
      Parameters:
      bytes - 字节数组
      Returns:
      PTZ指令
    • serializeToHex

      public static String serializeToHex(PTZInstructionFormat instruction)
      序列化为十六进制字符串
      Parameters:
      instruction - PTZ指令
      Returns:
      十六进制字符串
    • deserializeFromHex

      public static PTZInstructionFormat deserializeFromHex(String hexString)
      从十六进制字符串反序列化
      Parameters:
      hexString - 十六进制字符串
      Returns:
      PTZ指令
    • serializeToBase64

      public static String serializeToBase64(PTZInstructionFormat instruction)
      序列化为Base64字符串
      Parameters:
      instruction - PTZ指令
      Returns:
      Base64字符串
    • deserializeFromBase64

      public static PTZInstructionFormat deserializeFromBase64(String base64String)
      从Base64字符串反序列化
      Parameters:
      base64String - Base64字符串
      Returns:
      PTZ指令
    • serializeToObjectStream

      public static byte[] serializeToObjectStream(PTZInstructionFormat instruction) throws IOException
      序列化为Java对象流
      Parameters:
      instruction - PTZ指令
      Returns:
      序列化后的字节数组
      Throws:
      IOException - 序列化异常
    • deserializeFromObjectStream

      public static PTZInstructionFormat deserializeFromObjectStream(byte[] bytes) throws IOException, ClassNotFoundException
      从Java对象流反序列化
      Parameters:
      bytes - 序列化的字节数组
      Returns:
      PTZ指令
      Throws:
      IOException - 反序列化异常
      ClassNotFoundException - 类未找到异常
    • serializeToByteBuffer

      public static ByteBuffer serializeToByteBuffer(PTZInstructionFormat instruction)
      序列化为紧凑的字节缓冲区
      Parameters:
      instruction - PTZ指令
      Returns:
      ByteBuffer
    • deserializeFromByteBuffer

      public static PTZInstructionFormat deserializeFromByteBuffer(ByteBuffer buffer)
      从ByteBuffer反序列化
      Parameters:
      buffer - ByteBuffer
      Returns:
      PTZ指令
    • validateSerialization

      public static boolean validateSerialization(PTZInstructionFormat original, Object serialized, PTZInstructionSerializer.SerializationFunction<Object,PTZInstructionFormat> deserializer)
      验证序列化的完整性
      Parameters:
      original - 原始指令
      serialized - 序列化后的数据
      deserializer - 反序列化函数
      Returns:
      是否一致