package com.dragonsoft.tryapp.common;

import java.io.Serializable;

/**
 * Used to update the status of a process. Different processes 
 * should implement their own version, as long as it's serializable.
 */
public interface ProcessUpdate extends Serializable {

    /**
     * Returns the latest status. Short description.
     * 
     * @return    the latest status
     */
    public String getStatus();

    /**
     * Returns more detailed information about the status. Any 
     * serializable object may be used - because a String object 
     * may not suffice. For example, when passing back test results 
     * during a testing process, the additional information may be 
     * better organized as some kind of table.
     * 
     * @return    more detailed information
     */
    public Serializable getAdditionalInfo();

} // ProcessStatus