接口 DsonObjectReader

所有超级接口:
AutoCloseable

public interface DsonObjectReader extends AutoCloseable
作者:
wjybxx date 2023/4/3
  • 方法详细资料

    • readInt

      int readInt(String name)
    • readLong

      long readLong(String name)
    • readFloat

      float readFloat(String name)
    • readDouble

      double readDouble(String name)
    • readBoolean

      boolean readBoolean(String name)
    • readString

      String readString(String name)
    • readNull

      void readNull(String name)
    • readBytes

      default byte[] readBytes(String name)
    • readBinary

      Binary readBinary(String name)
    • readPtr

      ObjectPtr readPtr(String name)
    • readLitePtr

      ObjectLitePtr readLitePtr(String name)
    • readDateTime

      LocalDateTime readDateTime(String name)
    • readExtDateTime

      ExtDateTime readExtDateTime(String name)
    • readTimestamp

      Timestamp readTimestamp(String name)
    • readObject

      @Nullable <T> T readObject(String name, TypeInfo<T> typeInfo, Supplier<? extends T> factory)
      读取嵌套对象 注意: 1. 该方法对于无法精确解析的对象,可能返回一个不兼容的类型。 2. 目标类型可以与写入类型不一致,甚至无继承关系,只要数据格式兼容即可 —— 投影。
      参数:
      name - 数组内元素传null或空字符串
      typeInfo - 对象声明类型信息;可以与写入的类型不一致,
    • readObject

      default <T> T readObject(String name, TypeInfo<T> typeInfo)
    • options

      ConverterOptions options()
    • getContextType

      DsonContextType getContextType()
    • readDsonType

      DsonType readDsonType()
      读取下一个数据的类型
    • readName

      String readName()
      读取下一个数据的name
    • readName

      boolean readName(String name)
      读取指定名字的值 -- 可实现随机读 如果尚未调用readDsonType(),该方法将尝试跳转到该name所在的字段。 如果已调用readDsonType(),则该方法必须与下一个name匹配。 如果reader不支持随机读,当名字不匹配下一个值时将抛出异常。 返回false的情况下,可继续调用该方法或readDsonType()读取下一个字段。
      返回:
      如果是Object上下午,如果字段存在则返回true,否则返回false; 如果是Array上下文,如果尚未到达数组尾部,则返回true,否则返回false
    • getCurrentDsonType

      DsonType getCurrentDsonType()
    • getCurrentName

      String getCurrentName()
    • readStartObject

      void readStartObject()
    • readEndObject

      void readEndObject()
    • readStartArray

      void readStartArray()
    • readEndArray

      void readEndArray()
    • skipName

      void skipName()
    • skipValue

      void skipValue()
    • skipToEndOfObject

      void skipToEndOfObject()
    • readValueAsBytes

      byte[] readValueAsBytes(String name)
    • decodeKey

      <T> T decodeKey(String keyString, Class<T> keyDeclared)
      解码字典的key
    • setComponentType

      void setComponentType(DsonType dsonType)
      设置数组/object的value的类型,用于精确解析Dson文本
    • close

      void close()
      指定者:
      close 在接口中 AutoCloseable
    • readStartObject

      default boolean readStartObject(String name)
      返回:
      如果存在对应的字段则返回true
    • readStartArray

      default boolean readStartArray(String name)
      返回:
      如果存在对应的字段则返回true
    • readShort

      default short readShort(String name)
      应当减少 short/byte/char 的使用,尤其应当避免使用其包装类型,使用的越多越难以扩展,越难以支持跨语言等。
    • readByte

      default byte readByte(String name)
    • readChar

      default char readChar(String name)
    • readImmutableList

      @Nonnull default <E> List<E> readImmutableList(String name, Class<E> elementType)
      读取为不可变List
    • readImmutableSet

      @Nonnull default <E> Set<E> readImmutableSet(String name, Class<E> elementType)
      读取为不可变Set
    • readImmutableMap

      @Nonnull default <K, V> Map<K,V> readImmutableMap(String name, Class<K> keyType, Class<V> valueType)
      读取为不可变字典