All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ru.taskurotta.service.hz.serialization.bson.TaskKeyBSerializer 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.service.hz.TaskKey;

import java.util.UUID;

/**
 */
public class TaskKeyBSerializer implements StreamBSerializer {

    private static final CString TASK_ID = new CString("t");
    private static final CString PROCESS_ID = new CString("p");

    @Override
    public Class getObjectClass() {
        return TaskKey.class;
    }

    @Override
    public void write(BDataOutput out, TaskKey object) {
        int label = out.writeObject(_ID);
        out.writeUUID(TASK_ID, object.getTaskId());
        out.writeUUID(PROCESS_ID, object.getProcessId());
        out.writeObjectStop(label);

    }

    @Override
    public TaskKey read(BDataInput in) {
        int label = in.readObject(_ID);
        final UUID taskId = in.readUUID(TASK_ID);
        final UUID processId = in.readUUID(PROCESS_ID);
        in.readObjectStop(label);

        return new TaskKey(taskId, processId);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy