Class InstructUtil

java.lang.Object
cn.sinozg.applet.instruct.util.InstructUtil

public class InstructUtil extends Object
指令解析工具 通用
Since:
2024-09-28 12:42
Author:
xyb
  • Field Details

  • Constructor Details

    • InstructUtil

      public InstructUtil()
  • Method Details

    • decodeInstruct

      public static <T> void decodeInstruct(String instruct, T t)
      解码指令
      Type Parameters:
      T - 指令实体对象类型
      Parameters:
      instruct - 指令
      t - 指令实体对象
    • decodeInstruct

      public static <T> void decodeInstruct(String instruct, T t, boolean reverse)
      解码指令
      Type Parameters:
      T - 指令实体对象类型
      Parameters:
      instruct - 指令
      reverse - 子类在前还是在后
      t - 指令实体对象
    • encodedInstruct

      public static <T> String encodedInstruct(T t)
      编码指令
      Type Parameters:
      T - 对象类型
      Parameters:
      t - 对象
      Returns:
      指令
    • encodedInstruct

      public static <T> String encodedInstruct(T t, boolean reverse)
      编码指令
      Type Parameters:
      T - 对象类型
      Parameters:
      t - 对象
      reverse - 子类在前还是在后
      Returns:
      指令
    • itemDecodeField

      public static void itemDecodeField(List<InstructFieldDetail> list, Object o, String instruct) throws Exception
      循环解码
      Parameters:
      list - 结构
      o - 数据
      instruct - 指令
      Throws:
      Exception - 异常
    • itemEncodeField

      private static void itemEncodeField(List<InstructFieldDetail> list, Object o, StringBuilder instruct) throws Exception
      循环编码
      Parameters:
      list - 结构体
      o - 对象
      instruct - 指令
      Throws:
      Exception - 异常
    • decodeField

      private static Object decodeField(String instruct, Field field, InstructFieldDetail d)
      编码字段
      Parameters:
      instruct - 指令
      field - 字段
      d - 字段信息
      Returns:
    • decode

      public static Object decode(String s, Field field, InstructFieldDetail d)
      解码
      Parameters:
      s - 数据
      field - 字段
      d - 详情
      Returns:
    • encodeField

      private static String encodeField(Field field, Object data, InstructFieldDetail d)
      编码指令
      Parameters:
      field - 字段
      data - 数据
      d - 对应的结构
      Returns:
      指令
    • structureInfo

      public static List<InstructFieldDetail> structureInfo(Class<?> clazz)
      获取到指令结构
      Parameters:
      clazz - 数据类型
      Returns:
      结构体
    • structureInfo

      public static InstructFieldCache structureInfo(Class<?> clazz, boolean reverse)
      获取到指令结构
      Parameters:
      clazz - 数据类型
      reverse - 子类在前还是在后
      Returns:
      结构体 顺序
    • unknownStructure

      public static List<InstructFieldDetail> unknownStructure(List<InstructFieldDetail> list, int bs)
      重新生成数据的结构体
      Parameters:
      list - 数据
      bs - 未知的字节长
      Returns:
      新的结构