// Path: src/socialkademlia/dht/JSocialKademliaStorageEntry.java
// public class JSocialKademliaStorageEntry implements SocialKademliaStorageEntry
// {
// 
//     private String content;
//     private final JSocialKademliaStorageEntryMetadata metadata;
//     private boolean isCompressed;       // Is this entry in compressed form
// 
//     
//     {
//         this.isCompressed = false;
//     }
// 
//     public JSocialKademliaStorageEntry(final KadContent content)
//     {
//         this(content, new JSocialKademliaStorageEntryMetadata(content));
//     }
// 
//     public JSocialKademliaStorageEntry(final KadContent content, final JSocialKademliaStorageEntryMetadata metadata)
//     {
//         this.setContent(content.toSerializedForm());
//         this.metadata = metadata;
//     }
// 
//     @Override
//     public final void setContent(final byte[] data)
//     {
//         this.content = new String(data);
//     }
// 
//     @Override
//     public final void setContent(String data)
//     {
//         this.content = data;
//     }
// 
//     @Override
//     public final byte[] getContent()
//     {
//         return this.content.getBytes();
//     }
// 
//     @Override
//     public final String getContentString()
//     {
//         return this.content;
//     }
// 
//     @Override
//     public final SocialKademliaStorageEntryMetadata getContentMetadata()
//     {
//         return this.metadata;
//     }
// 
//     @Override
//     public boolean isCompressed()
//     {
//         return this.isCompressed;
//     }
// 
//     @Override
//     public void setCompressed()
//     {
//         this.isCompressed = true;
//     }
// 
//     @Override
//     public void setDecompressed()
//     {
//         this.isCompressed = false;
//     }
// 
//     @Override
//     public String toString()
//     {
//         StringBuilder sb = new StringBuilder("[StorageEntry: ");
// 
//         sb.append("[Content: ");
//         sb.append(this.getContent());
//         sb.append("]");
// 
//         sb.append(this.getContentMetadata());
// 
//         sb.append("]");
// 
//         return sb.toString();
//     }
// }


import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import kademlia.message.Message;
import kademlia.node.Node;
import kademlia.util.serializer.JsonSerializer;
import socialkademlia.dht.JSocialKademliaStorageEntry;
package socialkademlia.message;


/**
 * A Message used to send content between nodes
 *
 * @author Joshua Kissoon
 * @since 20140226
 */
public class ContentMessage implements Message
{

    public static final byte CODE = 0x04;

// Path: src/socialkademlia/dht/JSocialKademliaStorageEntry.java
// public class JSocialKademliaStorageEntry implements SocialKademliaStorageEntry
// {
// 
//     private String content;
//     private final JSocialKademliaStorageEntryMetadata metadata;
//     private boolean isCompressed;       // Is this entry in compressed form
// 
//     
//     {
//         this.isCompressed = false;
//     }
// 
//     public JSocialKademliaStorageEntry(final KadContent content)
//     {
//         this(content, new JSocialKademliaStorageEntryMetadata(content));
//     }
// 
//     public JSocialKademliaStorageEntry(final KadContent content, final JSocialKademliaStorageEntryMetadata metadata)
//     {
//         this.setContent(content.toSerializedForm());
//         this.metadata = metadata;
//     }
// 
//     @Override
//     public final void setContent(final byte[] data)
//     {
//         this.content = new String(data);
//     }
// 
//     @Override
//     public final void setContent(String data)
//     {
//         this.content = data;
//     }
// 
//     @Override
//     public final byte[] getContent()
//     {
//         return this.content.getBytes();
//     }
// 
//     @Override
//     public final String getContentString()
//     {
//         return this.content;
//     }
// 
//     @Override
//     public final SocialKademliaStorageEntryMetadata getContentMetadata()
//     {
//         return this.metadata;
//     }
// 
//     @Override
//     public boolean isCompressed()
//     {
//         return this.isCompressed;
//     }
// 
//     @Override
//     public void setCompressed()
//     {
//         this.isCompressed = true;
//     }
// 
//     @Override
//     public void setDecompressed()
//     {
//         this.isCompressed = false;
//     }
// 
//     @Override
//     public String toString()
//     {
//         StringBuilder sb = new StringBuilder("[StorageEntry: ");
// 
//         sb.append("[Content: ");
//         sb.append(this.getContent());
//         sb.append("]");
// 
//         sb.append(this.getContentMetadata());
// 
//         sb.append("]");
// 
//         return sb.toString();
//     }
// }


// Path: src/socialkademlia/message/ContentMessage.java
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import kademlia.message.Message;
import kademlia.node.Node;
import kademlia.util.serializer.JsonSerializer;
import socialkademlia.dht.JSocialKademliaStorageEntry;

package socialkademlia.message;


/**
 * A Message used to send content between nodes
 *
 * @author Joshua Kissoon
 * @since 20140226
 */
public class ContentMessage implements Message
{

    public static final byte CODE = 0x04;

    private JSocialKademliaStorageEntry content;