/*
Copyright 2002-2005 The Members of the OSS through Java(TM) Initiative.
All rights reserved. Use is subject to license terms.
*/

package javax.oss;

/**
 * Object returned as result of an update execution using a specified UpdateProcedureValue.
 * @see javax.oss.JVTSession#update
 * @see javax.oss.UpdateProcedureValue
 *
 * @author OSS through Java Initiative, Vincent Perrot Sun Microsystems Inc.
 * @version 1.2
 * @since August 2005
 * @ossj:complexdata
 */

public interface UpdateProcedureResponse extends java.io.Serializable {
   
    /**
     * Flag indicating that the update procedure is still in progress
     */
    public final static int IN_PROGRESS = 1;

    /**
     * Flag indicating that the update procedure was completed successfully.
     */
    public final static int COMPLETE = 8;

    /**
     * Flag indicating that the update procedure was aborted.
     */
    public final static int ABORTED = 2;

    /**
     * Flag indicating that the update procedure was completed successfully.
     */
    public final static int ERRORED = 4;

    /**
     * Flag indicating that the update procedure was either completed or aborted or encoutered an error.
     */
    public final static int DONE = (ABORTED | ERRORED | COMPLETE);
    
    /**
     * Return the execution status of the update procedure
     */
    public int getStatus();
    
    /**
     * Return true is the update procedure was completed sucessfully.
     * @return completion
     */
    
    public boolean isSuccessful();
}
