
ru.taskurotta.service.hz.serialization.bson.TaskConfigContainerBSerializer Maven / Gradle / Ivy
The newest version!
package ru.taskurotta.service.hz.serialization.bson;
import ru.taskurotta.mongodb.driver.BDataInput;
import ru.taskurotta.mongodb.driver.BDataOutput;
import ru.taskurotta.mongodb.driver.CString;
import ru.taskurotta.mongodb.driver.StreamBSerializer;
import ru.taskurotta.transport.model.RetryPolicyConfigContainer;
import ru.taskurotta.transport.model.TaskConfigContainer;
import static ru.taskurotta.service.hz.serialization.bson.BSerializerTools.readObject;
import static ru.taskurotta.service.hz.serialization.bson.BSerializerTools.writeObjectIfNotNull;
public class TaskConfigContainerBSerializer implements StreamBSerializer {
private static final CString CUSTOM_ID = new CString("customId");
private static final CString START_TIME = new CString("startTime");
private static final CString TASK_LIST = new CString("taskList");
private static final CString RETRY_POLICY = new CString("retryPolicy");
RetryPolicyConfigContainerBSerializer retryPolicyConfigContainerBSerializer = new RetryPolicyConfigContainerBSerializer();
@Override
public Class getObjectClass() {
return TaskConfigContainer.class;
}
@Override
public void write(BDataOutput out, TaskConfigContainer object) {
out.writeString(CUSTOM_ID, object.getCustomId());
out.writeLong(START_TIME, object.getStartTime(), -1l);
out.writeString(TASK_LIST, object.getTaskList());
writeObjectIfNotNull(RETRY_POLICY, object.getRetryPolicyConfigContainer(),
retryPolicyConfigContainerBSerializer, out);
}
@Override
public TaskConfigContainer read(BDataInput in) {
String customId = in.readString(CUSTOM_ID);
long startTime = in.readLong(START_TIME, -1l);
String taskList = in.readString(TASK_LIST);
RetryPolicyConfigContainer retryPolicyConfigContainer = readObject(RETRY_POLICY,
retryPolicyConfigContainerBSerializer, in);
return new TaskConfigContainer(customId, startTime, taskList, retryPolicyConfigContainer);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy