package com.bagri.client.hazelcast.serialize.system; import java.io.IOException; import java.util.Collection; import java.util.Date; import com.bagri.client.hazelcast.serialize.DataSerializationFactoryImpl; import com.bagri.core.system.TriggerAction; import com.bagri.core.system.XQueryTrigger; import com.hazelcast.nio.ObjectDataInput; import com.hazelcast.nio.ObjectDataOutput; import com.hazelcast.nio.serialization.StreamSerializer; public class XQueryTriggerSerializer extends TriggerDefinitionSerializer implements StreamSerializer<XQueryTrigger> { @Override public int getTypeId() { return DataSerializationFactoryImpl.cli_XDMXQueryTrigger; } @Override @SuppressWarnings("unchecked") public XQueryTrigger read(ObjectDataInput in) throws IOException { Object[] fields = super.readTrigger(in); String module = in.readUTF(); String function = in.readUTF(); XQueryTrigger xTrigger = new XQueryTrigger((int) fields[0], (Date) fields[1], (String) fields[2], module, function, (String) fields[3], (Boolean) fields[4], (Boolean) fields[5], (Integer) fields[6]); xTrigger.setActions((Collection<TriggerAction>) fields[7]); return xTrigger; } @Override public void write(ObjectDataOutput out, XQueryTrigger xTrigger) throws IOException { super.writeTrigger(out, xTrigger); out.writeUTF(xTrigger.getModule()); out.writeUTF(xTrigger.getFunction()); } }