package com.bagri.client.hazelcast.serialize.model;
import java.io.IOException;
import com.bagri.client.hazelcast.serialize.DataSerializationFactoryImpl;
import com.bagri.core.model.Document;
import com.hazelcast.nio.ObjectDataInput;
import com.hazelcast.nio.ObjectDataOutput;
import com.hazelcast.nio.serialization.StreamSerializer;
public class DocumentSerializer implements StreamSerializer<Document> {
@Override
public void destroy() {
}
@Override
public int getTypeId() {
return DataSerializationFactoryImpl.cli_XDMDocument;
}
@Override
public Document read(ObjectDataInput in) throws IOException {
Document xDoc = new Document(
in.readLong(),
in.readUTF(),
in.readUTF(),
in.readLong(),
in.readLong(),
new java.util.Date(in.readLong()),
in.readUTF(),
in.readUTF(),
in.readInt(),
in.readInt());
xDoc.setCollections(in.readIntArray());
return xDoc;
}
@Override
public void write(ObjectDataOutput out, Document xDoc) throws IOException {
out.writeLong(xDoc.getDocumentKey());
out.writeUTF(xDoc.getUri());
out.writeUTF(xDoc.getTypeRoot());
out.writeLong(xDoc.getTxStart());
out.writeLong(xDoc.getTxFinish());
out.writeLong(xDoc.getCreatedAt().getTime());
out.writeUTF(xDoc.getCreatedBy());
out.writeUTF(xDoc.getEncoding());
out.writeInt(xDoc.getBytes());
out.writeInt(xDoc.getElements());
out.writeIntArray(xDoc.getCollections());
}
}