package com.bagri.client.hazelcast.serialize.system; import java.io.IOException; import java.util.Date; import javax.xml.namespace.QName; import com.bagri.client.hazelcast.serialize.DataSerializationFactoryImpl; import com.bagri.core.system.Index; import com.hazelcast.nio.ObjectDataInput; import com.hazelcast.nio.ObjectDataOutput; import com.hazelcast.nio.serialization.StreamSerializer; public class IndexSerializer extends EntitySerializer implements StreamSerializer<Index> { @Override public int getTypeId() { return DataSerializationFactoryImpl.cli_XDMIndex; } @Override public Index read(ObjectDataInput in) throws IOException { Object[] entity = super.readEntity(in); Index xIndex = new Index( (int) entity[0], (Date) entity[1], (String) entity[2], in.readUTF(), in.readUTF(), in.readUTF(), in.readUTF(), QName.valueOf(in.readUTF()), in.readBoolean(), in.readBoolean(), in.readBoolean(), in.readUTF(), in.readBoolean()); return xIndex; } @Override public void write(ObjectDataOutput out, Index xIndex) throws IOException { super.writeEntity(out, xIndex); out.writeUTF(xIndex.getName()); out.writeUTF(xIndex.getDocumentType()); out.writeUTF(xIndex.getTypePath()); out.writeUTF(xIndex.getPath()); out.writeUTF(xIndex.getDataType().toString()); out.writeBoolean(xIndex.isCaseSensitive()); out.writeBoolean(xIndex.isRange()); out.writeBoolean(xIndex.isUnique()); out.writeUTF(xIndex.getDescription()); out.writeBoolean(xIndex.isEnabled()); } }