001    package org.hackystat.projectbrowser.page.loadingprocesspanel;
002    
003    /**
004     * Interface to support the loading process panel.
005     * LoadingProcessPanel will be shown when either isInProcess or isComplete is true.
006     * LoadingProcessPanel will auto update itself every second when isInProcess is true.
007     * LoadingProcessPanel will display content of getProcessingMessage in it.
008     * @author Shaoxuan Zhang
009     */
010    public interface Processable {
011    
012      /**
013       * @return if the process is in progress.
014       */
015      public boolean isInProcess();
016    
017      /**
018       * @return if the process is successfully completed.
019       */
020      public boolean isComplete();
021    
022      /**
023       * @return the message that reflect the status and/or the result of the process.
024       */
025      public String getProcessingMessage();
026      
027    }