
ru.taskurotta.service.hz.serialization.TaskConfigContainerStreamSerializer Maven / Gradle / Ivy
The newest version!
package ru.taskurotta.service.hz.serialization;
import com.hazelcast.nio.ObjectDataInput;
import com.hazelcast.nio.ObjectDataOutput;
import com.hazelcast.nio.serialization.StreamSerializer;
import ru.taskurotta.transport.model.TaskConfigContainer;
import java.io.IOException;
import static ru.taskurotta.service.hz.serialization.SerializationTools.readString;
import static ru.taskurotta.service.hz.serialization.SerializationTools.writeString;
/**
* User: greg
*/
public class TaskConfigContainerStreamSerializer implements StreamSerializer {
private RetryPolicyConfigContainerSerializer retryPolicyConfigContainerSerializer = new RetryPolicyConfigContainerSerializer();
@Override
public void write(ObjectDataOutput out, TaskConfigContainer object) throws IOException {
writeString(out, object.getCustomId());
out.writeLong(object.getStartTime());
writeString(out, object.getTaskList());
if (object.getRetryPolicyConfigContainer() != null) {
out.writeBoolean(true);
retryPolicyConfigContainerSerializer.write(out, object.getRetryPolicyConfigContainer());
} else {
out.writeBoolean(false);
}
}
@Override
public TaskConfigContainer read(ObjectDataInput in) throws IOException {
TaskConfigContainer container = new TaskConfigContainer();
container.setCustomId(readString(in));
container.setStartTime(in.readLong());
container.setTaskList(readString(in));
boolean retryPolicyExist = in.readBoolean();
if (retryPolicyExist) {
container.setRetryPolicyConfigContainer(retryPolicyConfigContainerSerializer.read(in));
}
return container;
}
@Override
public int getTypeId() {
return ObjectTypes.TASK_CONFIG_CONTAINER;
}
@Override
public void destroy() {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy