cn.wjybxx.btreecodec.TaskEntryCodec Maven / Gradle / Ivy
package cn.wjybxx.btreecodec;
import cn.wjybxx.btree.Task;
import cn.wjybxx.btree.TaskEntry;
import cn.wjybxx.dson.WireType;
import cn.wjybxx.dson.text.NumberStyle;
import cn.wjybxx.dson.text.ObjectStyle;
import cn.wjybxx.dson.text.StringStyle;
import cn.wjybxx.dsoncodec.AbstractDsonCodec;
import cn.wjybxx.dsoncodec.DsonObjectReader;
import cn.wjybxx.dsoncodec.DsonObjectWriter;
import cn.wjybxx.dsoncodec.TypeInfo;
import javax.annotation.Nonnull;
import javax.annotation.processing.Generated;
@SuppressWarnings({"unchecked", "rawtypes", "unused"})
@Generated("cn.wjybxx.dsonapt.CodecProcessor")
public final class TaskEntryCodec extends AbstractDsonCodec {
public static final TypeInfo types_guard = TypeInfo.of(Task.class, Object.class);
public static final TypeInfo types_flags = TypeInfo.of(int.class);
public static final TypeInfo types_name = TypeInfo.of(String.class);
public static final TypeInfo types_rootTask = TypeInfo.of(Task.class, Object.class);
public static final TypeInfo types_type = TypeInfo.of(byte.class);
public static final String names_guard = "guard";
public static final String names_flags = "flags";
public static final String names_name = "name";
public static final String names_rootTask = "rootTask";
public static final String names_type = "type";
@Override
@Nonnull
public Class getEncoderClass() {
return TaskEntry.class;
}
@Override
public void writeFields(DsonObjectWriter writer, TaskEntry instance, TypeInfo> typeInfo,
ObjectStyle style) {
writer.writeObject(names_guard, instance.getGuard(), types_guard, null);
writer.writeInt(names_flags, instance.getFlags(), WireType.VARINT, NumberStyle.SIMPLE);
writer.writeString(names_name, instance.getName(), StringStyle.AUTO);
writer.writeObject(names_rootTask, instance.getRootTask(), types_rootTask, null);
writer.writeByte(names_type, instance.getType(), WireType.VARINT, NumberStyle.SIMPLE);
}
@Override
protected TaskEntry newInstance(DsonObjectReader reader, TypeInfo> typeInfo) {
return new TaskEntry();
}
@Override
public void readFields(DsonObjectReader reader, TaskEntry instance, TypeInfo> typeInfo) {
instance.setGuard(reader.readObject(names_guard, types_guard, null));
instance.setFlags(reader.readInt(names_flags));
instance.setName(reader.readString(names_name));
instance.setRootTask(reader.readObject(names_rootTask, types_rootTask, null));
instance.setType(reader.readByte(names_type));
}
}