001 package com.khubla.pragmatach.plugin.cluster.multicast; 002 003 import com.khubla.pragmatach.framework.api.PragmatachException; 004 import com.khubla.pragmatach.plugin.cluster.serialization.GenericJSONSerializer; 005 006 /** 007 * @author tome 008 */ 009 public class MulticastMessage { 010 /** 011 * types of message 012 */ 013 public final static int MESSAGETYPE_HELLO = 1; 014 public final static int MESSAGETYPE_GBYE = 2; 015 public final static int MESSAGETYPE_SOLICITUPDATE = 3; 016 public final static int MESSAGETYPE_UPDATE = 4; 017 018 /** 019 * from string 020 */ 021 public static MulticastMessage deserialize(byte[] messageBody) throws PragmatachException { 022 final MulticastMessage multicastMessage = new MulticastMessage(); 023 return new GenericJSONSerializer<MulticastMessage>().deserialize(multicastMessage, new String(messageBody)); 024 } 025 026 /** 027 * to String 028 */ 029 public static byte[] serialize(MulticastMessage multicastMessage) throws PragmatachException { 030 return new GenericJSONSerializer<MulticastMessage>().serialize(multicastMessage).getBytes(); 031 } 032 033 /** 034 * type 035 */ 036 private int messageType; 037 /** 038 * content 039 */ 040 private String messageContent; 041 042 /** 043 * ctor 044 */ 045 public MulticastMessage() { 046 } 047 048 /** 049 * ctor 050 */ 051 public MulticastMessage(int messageType, String messageContent) { 052 this.messageContent = messageContent; 053 this.messageType = messageType; 054 } 055 056 public String getMessageContent() { 057 return messageContent; 058 } 059 060 public int getMessageType() { 061 return messageType; 062 } 063 064 public void setMessageContent(String messageContent) { 065 this.messageContent = messageContent; 066 } 067 068 public void setMessageType(int messageType) { 069 this.messageType = messageType; 070 } 071 }