package com.tandbergtv.workflow.message;

/**
 *  Simple payload in which the payload content is a single String value.
 *
 * @author Sahil Verma
 */
public class StringPayload extends AbstractPayload {

	private StringBuffer stringPayload = new StringBuffer();
	
	/**
	 * Constructor
	 */
	public StringPayload() {
		super();
	}
	
	/**
	 * Constructor
	 * 
	 * @param content
	 *            The initial payload content
	 */
	public StringPayload(String content) {
		this.stringPayload.append(content);
	}

	/**
	 * @see com.tandbergtv.workflow.message.IPayload#getContent()
	 */
	public String getContent() {
		return this.stringPayload.toString();
	}
	
	/**
	 * Sets the content of the payload.
	 * 
	 * @param content
	 *            The new payload content
	 */
	public void setContent(String content) {
		this.stringPayload.setLength(0);
		this.stringPayload.append(content);
	}

	/**
	 * Appends a new String to the existing payload content.
	 * 
	 * @param content
	 *            The string to append to the current payload content.
	 */
	public void appendContent(String content) {
		this.stringPayload.append(content);
	}
	
	/**
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "Payload Content: " + getContent();
	}
}
