package com.bagri.client.hazelcast.serialize.system; import java.io.IOException; import java.util.Set; import com.bagri.client.hazelcast.serialize.DataSerializationFactoryImpl; import com.bagri.core.system.Permission; import com.hazelcast.nio.ObjectDataInput; import com.hazelcast.nio.ObjectDataOutput; import com.hazelcast.nio.serialization.StreamSerializer; public class PermissionSerializer implements StreamSerializer<Permission> { @Override public void destroy() { } @Override public int getTypeId() { return DataSerializationFactoryImpl.cli_XDMPermission; } @Override @SuppressWarnings("unchecked") public Permission read(ObjectDataInput in) throws IOException { return new Permission(in.readUTF(), (Set<Permission.Value>) in.readObject()); } @Override public void write(ObjectDataOutput out, Permission xPerm) throws IOException { out.writeUTF(xPerm.getResource()); out.writeObject(xPerm.getPermissions()); } }