
ru.taskurotta.service.hz.serialization.DecisionStreamSerializer 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.Decision;
import java.io.IOException;
import java.util.UUID;
/**
*/
public class DecisionStreamSerializer implements StreamSerializer {
private DecisionContainerStreamSerializer decisionContainerStreamSerializer = new
DecisionContainerStreamSerializer();
@Override
public void write(ObjectDataOutput out, Decision object) throws IOException {
UUIDSerializer.write(out, object.getTaskId());
UUIDSerializer.write(out, object.getProcessId());
out.writeByte(object.getState());
UUIDSerializer.write(out, object.getPass());
out.writeLong(object.getRecoveryTime());
decisionContainerStreamSerializer.write(out, object.getDecisionContainer());
}
@Override
public Decision read(ObjectDataInput in) throws IOException {
UUID taskId = UUIDSerializer.read(in);
UUID processId = UUIDSerializer.read(in);
int state = in.readByte();
UUID pass = UUIDSerializer.read(in);
long recoveryTime = in.readLong();
return new Decision(taskId, processId, state, pass, recoveryTime, decisionContainerStreamSerializer.read(in));
}
@Override
public int getTypeId() {
return ObjectTypes.DECISION;
}
@Override
public void destroy() {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy