类的使用
cn.wjybxx.dsoncodec.TypeInfo
使用TypeInfo的程序包
-
cn.wjybxx.dsoncodec中TypeInfo的使用
声明为TypeInfo的cn.wjybxx.dsoncodec中的字段修饰符和类型字段说明TypeInfo.ARRAYLISTTypeInfo.HASHMAPTypeInfo.INTEGERstatic final TypeInfo<LinkedHashMap> TypeInfo.LINKED_HASHMAPstatic final TypeInfo<LinkedHashSet> TypeInfo.LINKED_HASHSETTypeInfo.LONGTypeInfo.NONE表示不写入类型信息TypeInfo.OBJECT这里不能调用of...因为of可能返回该对象TypeInfo.STRINGTypeInfo.STRING_HASHMAPstatic final TypeInfo<LinkedHashMap> TypeInfo.STRING_LINKED_HASHMAPfinal TypeInfo<?> TypeMeta.typeInfo关联的类型返回TypeInfo的cn.wjybxx.dsoncodec中的方法修饰符和类型方法说明TypeInfo<?> TypeInfo.getComponentType()获取数组的元素类型static <T> TypeInfo<?> DsonConverterUtils.getElementActualTypeInfo(Class<T> rawType) 获取传递给集合的元素类型;不存在则返回nuLlTypeInfo<?> TypeInfo.getGenericArgument(int idx) 获取泛型参数TypeInfo<?> TypeInfo.getGenericTypeDefinition()获取泛型原型static <T> TypeInfo<?> DsonConverterUtils.getKeyActualTypeInfo(Class<T> rawType) 获取传递给字典的Key类型;不存在则返回nuLlTypeInfo<?> TypeInfo.makeArrayType()构建数组类型static <T> TypeInfo<T> static <T> TypeInfo<T> static <T> TypeInfo<T> static <T> TypeInfo<T> static <T> TypeInfo<T> static <T> TypeInfo<T> 参数类型为TypeInfo的cn.wjybxx.dsoncodec中的方法修饰符和类型方法说明protected voidAbstractDsonCodec.afterDecode(DsonObjectReader reader, T instance, TypeInfo<?> typeInfo) 用于执行用户的afterDecode钩子方法。protected voidAbstractDsonCodec.beforeEncode(DsonObjectWriter writer, T instance, TypeInfo<?> typeInfo, ObjectStyle style) 用于执行用户的beforeEncode钩子方法。static <T> booleanDsonConverterUtils.canInheritTypeArgs(Class<T> encoderClass, TypeInfo<?> typeInfo) 判断要编码的类型是否可继承声明类型的泛型参数default <T> TConverter.cloneObject(Object value, TypeInfo<T> typeInfo) default <T> TConverter.cloneObject(Object value, TypeInfo<T> typeInfo, Supplier<? extends T> factory) 克隆一个对象。<T> TDefaultDsonConverter.cloneObject(Object value, TypeInfo<T> typeInfo, Supplier<? extends T> factory) protected abstract TAbstractDsonCodec.newInstance(DsonObjectReader reader, TypeInfo<?> typeInfo) 创建一个对实例。static TypeMetaTypeMeta.of(TypeInfo<?> typeInfo, ObjectStyle style, String clsName) static TypeMetaTypeMeta.of(TypeInfo<?> typeInfo, ObjectStyle style, String... clsNames) static TypeMetaTypeMeta.of(TypeInfo<?> typeInfo, ObjectStyle style, List<String> clsNames) 通过完整的类型信息查询类型元数据default <T> T<T> T从数据源中读取一个对象 注意:如果对象的声明类型和写入的类型不兼容,则表示投影;factory用于支持将数据读取到既有实例或子类实例上。default <T> T<T> T<T> T<T> Tabstract voidAbstractDsonCodec.readFields(DsonObjectReader reader, T instance, TypeInfo<?> typeInfo) 从输入流中读取所有序列化的字段到指定实例上。<T> TDefaultDsonConverter.readFromDson(Reader source, TypeInfo<T> typeInfo, Supplier<? extends T> factory) <T> TDefaultDsonConverter.readFromDson(CharSequence source, TypeInfo<T> typeInfo, Supplier<? extends T> factory) default <T> TDsonConverter.readFromDson(Reader source, TypeInfo<T> typeInfo) <T> TDsonConverter.readFromDson(Reader source, TypeInfo<T> typeInfo, Supplier<? extends T> factory) 从数据源中读取一个对象 (默认不关闭reader)default <T> TDsonConverter.readFromDson(CharSequence source, TypeInfo<T> typeInfo) <T> TDsonConverter.readFromDson(CharSequence source, TypeInfo<T> typeInfo, Supplier<? extends T> factory) 从数据源中读取一个对象<T> TDefaultDsonConverter.readFromDsonValue(DsonValue source, TypeInfo<T> typeInfo, Supplier<? extends T> factory) default <T> TDsonConverter.readFromDsonValue(DsonValue source, TypeInfo<T> typeInfo) <T> TDsonConverter.readFromDsonValue(DsonValue source, TypeInfo<T> typeInfo, Supplier<? extends T> factory) AbstractDsonCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends T> factory) DsonCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends T> factory) 从输入流中解析指定对象。DsonCodecImpl.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends T> factory) 从输入流中解析指定对象。default <T> TDsonObjectReader.readObject(String name, TypeInfo<T> typeInfo) <T> TDsonObjectReader.readObject(String name, TypeInfo<T> typeInfo, Supplier<? extends T> factory) 读取嵌套对象 注意: 1.byte[]将一个对象写入源 注意:如果对象的运行时类型和声明类型一致,则可省去编码结果中的类型信息。default intvoidbyte[]voidDefaultDsonConverter.writeAsDson(Object value, TypeInfo<?> typeInfo, ObjectStyle style) voidDefaultDsonConverter.writeAsDson(Object value, TypeInfo<?> typeInfo, Writer writer, ObjectStyle style) default StringDsonConverter.writeAsDson(Object value, TypeInfo<?> typeInfo) DsonConverter.writeAsDson(Object value, TypeInfo<?> typeInfo, ObjectStyle style) default voidDsonConverter.writeAsDson(Object value, TypeInfo<?> typeInfo, Writer writer) voidDsonConverter.writeAsDson(Object value, TypeInfo<?> typeInfo, Writer writer, ObjectStyle style) 将一个对象写入指定writer (默认不关闭writer)DefaultDsonConverter.writeAsDsonValue(Object value, TypeInfo<?> typeInfo) DsonConverter.writeAsDsonValue(Object value, TypeInfo<?> typeInfo) 将一个对象写为DsonObject或DsonArrayabstract voidAbstractDsonCodec.writeFields(DsonObjectWriter writer, T instance, TypeInfo<?> typeInfo, ObjectStyle style) voidAbstractDsonCodec.writeObject(DsonObjectWriter writer, T instance, TypeInfo<?> typeInfo, ObjectStyle style) voidDsonCodec.writeObject(DsonObjectWriter writer, T instance, TypeInfo<?> typeInfo, ObjectStyle style) 将对象写入输出流。voidDsonCodecImpl.writeObject(DsonObjectWriter writer, T instance, TypeInfo<?> typeInfo, ObjectStyle style) 将对象写入输出流。default <T> voidDsonObjectWriter.writeObject(String name, T value, TypeInfo<?> typeInfo) <T> voidDsonObjectWriter.writeObject(String name, T value, TypeInfo<?> typeInfo, ObjectStyle style) 写嵌套对象default voidDsonObjectWriter.writeStartArray(Object value, TypeInfo<?> typeInfo) voidDsonObjectWriter.writeStartArray(Object value, TypeInfo<?> typeInfo, ObjectStyle style) default voidDsonObjectWriter.writeStartArray(String name, Object value, TypeInfo<?> typeInfo) default voidDsonObjectWriter.writeStartArray(String name, Object value, TypeInfo<?> typeInfo, ObjectStyle style) default voidDsonObjectWriter.writeStartObject(Object value, TypeInfo<?> typeInfo) voidDsonObjectWriter.writeStartObject(Object value, TypeInfo<?> typeInfo, ObjectStyle style) default voidDsonObjectWriter.writeStartObject(String name, Object value, TypeInfo<?> typeInfo) default voidDsonObjectWriter.writeStartObject(String name, Object value, TypeInfo<?> typeInfo, ObjectStyle style) -
cn.wjybxx.dsoncodec.codecs中TypeInfo的使用
参数类型为TypeInfo的cn.wjybxx.dsoncodec.codecs中的方法修饰符和类型方法说明BinaryCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends Binary> factory) BooleanCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends Boolean> factory) byte[]ByteArrayCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends byte[]> factory) CollectionCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends T> factory) DoubleCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends Double> factory) DurationCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends Duration> factory) EnumCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends T> factory) ExtDateTimeCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends ExtDateTime> factory) FloatCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends Float> factory) InstantCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends Instant> factory) Int32Codec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends Integer> factory) Int64Codec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends Long> factory) LocalDateCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends LocalDate> factory) LocalDateTimeCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends LocalDateTime> factory) LocalTimeCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends LocalTime> factory) MapCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends T> factory) MapEncodeProxyCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends MapEncodeProxy> factory) boolean[]MoreArrayCodecs.BooleanArrayCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends boolean[]> factory) char[]MoreArrayCodecs.CharArrayCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends char[]> factory) double[]MoreArrayCodecs.DoubleArrayCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends double[]> factory) float[]MoreArrayCodecs.FloatArrayCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends float[]> factory) int[]MoreArrayCodecs.IntArrayCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends int[]> factory) long[]MoreArrayCodecs.LongArrayCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends long[]> factory) Object[]MoreArrayCodecs.ObjectArrayCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends Object[]> factory) short[]MoreArrayCodecs.ShortArrayCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends short[]> factory) String[]MoreArrayCodecs.StringArrayCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends String[]> factory) ObjectLitePtrCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends ObjectLitePtr> factory) ObjectPtrCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends ObjectPtr> factory) StringCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends String> factory) TimestampCodec.readObject(DsonObjectReader reader, TypeInfo<?> typeInfo, Supplier<? extends Timestamp> factory) voidBinaryCodec.writeObject(DsonObjectWriter writer, Binary instance, TypeInfo<?> typeInfo, ObjectStyle style) voidBooleanCodec.writeObject(DsonObjectWriter writer, Boolean instance, TypeInfo<?> typeInfo, ObjectStyle style) voidByteArrayCodec.writeObject(DsonObjectWriter writer, byte[] instance, TypeInfo<?> typeInfo, ObjectStyle style) voidCollectionCodec.writeObject(DsonObjectWriter writer, T instance, TypeInfo<?> typeInfo, ObjectStyle style) voidDoubleCodec.writeObject(DsonObjectWriter writer, Double instance, TypeInfo<?> typeInfo, ObjectStyle style) voidDurationCodec.writeObject(DsonObjectWriter writer, Duration instance, TypeInfo<?> typeInfo, ObjectStyle style) voidEnumCodec.writeObject(DsonObjectWriter writer, T instance, TypeInfo<?> typeInfo, ObjectStyle style) voidExtDateTimeCodec.writeObject(DsonObjectWriter writer, ExtDateTime instance, TypeInfo<?> typeInfo, ObjectStyle style) voidFloatCodec.writeObject(DsonObjectWriter writer, Float instance, TypeInfo<?> typeInfo, ObjectStyle style) voidInstantCodec.writeObject(DsonObjectWriter writer, Instant instance, TypeInfo<?> typeInfo, ObjectStyle style) voidInt32Codec.writeObject(DsonObjectWriter writer, Integer instance, TypeInfo<?> typeInfo, ObjectStyle style) voidInt64Codec.writeObject(DsonObjectWriter writer, Long instance, TypeInfo<?> typeInfo, ObjectStyle style) voidLocalDateCodec.writeObject(DsonObjectWriter writer, LocalDate instance, TypeInfo<?> typeInfo, ObjectStyle style) voidLocalDateTimeCodec.writeObject(DsonObjectWriter writer, LocalDateTime instance, TypeInfo<?> typeInfo, ObjectStyle style) voidLocalTimeCodec.writeObject(DsonObjectWriter writer, LocalTime instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMapCodec.writeObject(DsonObjectWriter writer, T instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMapEncodeProxyCodec.writeObject(DsonObjectWriter writer, MapEncodeProxy instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMoreArrayCodecs.BooleanArrayCodec.writeObject(DsonObjectWriter writer, boolean[] instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMoreArrayCodecs.CharArrayCodec.writeObject(DsonObjectWriter writer, char[] instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMoreArrayCodecs.DoubleArrayCodec.writeObject(DsonObjectWriter writer, double[] instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMoreArrayCodecs.FloatArrayCodec.writeObject(DsonObjectWriter writer, float[] instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMoreArrayCodecs.IntArrayCodec.writeObject(DsonObjectWriter writer, int[] instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMoreArrayCodecs.LongArrayCodec.writeObject(DsonObjectWriter writer, long[] instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMoreArrayCodecs.ObjectArrayCodec.writeObject(DsonObjectWriter writer, Object[] instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMoreArrayCodecs.ShortArrayCodec.writeObject(DsonObjectWriter writer, short[] instance, TypeInfo<?> typeInfo, ObjectStyle style) voidMoreArrayCodecs.StringArrayCodec.writeObject(DsonObjectWriter writer, String[] instance, TypeInfo<?> typeInfo, ObjectStyle style) voidObjectLitePtrCodec.writeObject(DsonObjectWriter writer, ObjectLitePtr instance, TypeInfo<?> typeInfo, ObjectStyle style) voidObjectPtrCodec.writeObject(DsonObjectWriter writer, ObjectPtr instance, TypeInfo<?> typeInfo, ObjectStyle style) voidStringCodec.writeObject(DsonObjectWriter writer, String instance, TypeInfo<?> typeInfo, ObjectStyle style) voidTimestampCodec.writeObject(DsonObjectWriter writer, Timestamp instance, TypeInfo<?> typeInfo, ObjectStyle style)