package com.bagri.client.hazelcast.serialize.model; import java.io.IOException; import java.util.Collection; import com.bagri.client.hazelcast.serialize.DataSerializationFactoryImpl; import com.bagri.core.model.Element; import com.bagri.core.model.Elements; import com.hazelcast.nio.ObjectDataInput; import com.hazelcast.nio.ObjectDataOutput; import com.hazelcast.nio.serialization.StreamSerializer; public class ElementsSerializer implements StreamSerializer<Elements> { @Override public void destroy() { } @Override public int getTypeId() { return DataSerializationFactoryImpl.cli_XDMElements; } @Override public Elements read(ObjectDataInput in) throws IOException { int pathId = in.readInt(); Elements xelts = new Elements(pathId, null); int size = in.readInt(); for (int i=0; i < size; i++) { xelts.addElement((Element) in.readObject()); } return xelts; } @Override public void write(ObjectDataOutput out, Elements xelts) throws IOException { Collection<Element> elements = xelts.getElements(); out.writeInt(xelts.getPathId()); out.writeInt(elements.size()); for (Element element: elements) { out.writeObject(element); } } }