package kademlia.dht;
/**
* A JKademliaStorageEntry class that is used to store a content on the DHT
*
* @author Joshua Kissoon
* @since 20140402
*/
public class JKademliaStorageEntry implements KademliaStorageEntry
{
private String content;
private final StorageEntryMetadata metadata;
public JKademliaStorageEntry(final KadContent content)
{
this(content, new StorageEntryMetadata(content));
}
public JKademliaStorageEntry(final KadContent content, final StorageEntryMetadata metadata)
{
this.setContent(content.toSerializedForm());
this.metadata = metadata;
}
@Override
public final void setContent(final byte[] data)
{
this.content = new String(data);
}
@Override
public final byte[] getContent()
{
return this.content.getBytes();
}
@Override
public final KademliaStorageEntryMetadata getContentMetadata()
{
return this.metadata;
}
@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();
}
}