View Javadoc

1   /*
2    * The contents of this file are subject to the terms 
3    * of the Common Development and Distribution License 
4    * (the "License").  You may not use this file except 
5    * in compliance with the License.
6    * 
7    * You can obtain a copy of the license at 
8    * http://www.sun.com/cddl/cddl.html. 
9    * See the License for the specific language governing 
10   * permissions and limitations under the License.
11   * 
12   * When distributing Covered Code, include this CDDL 
13   * HEADER in each file and include the License file at 
14   * license.txt.  If applicable, add the following below 
15   * this CDDL HEADER, with the fields enclosed by brackets 
16   * "[]" replaced with your own identifying information: 
17   * Portions Copyright [yyyy] [name of copyright owner]
18   * 
19   * Portions Copyright 2004 eBay, Inc.
20   */
21  package com.ebay.carad.os.vitalsigns;
22  
23  import java.util.List;
24  
25  import com.ebay.carad.os.vitalsigns.dao.IDataDAO;
26  
27  /***
28   * @author Jeremy Thomerson
29   * @version $Id$
30   */
31  public interface IDashboardAgent extends IReportingListenerContainer {
32  
33  	IDataDAO getDefaultDataDAO();
34  
35  	/***
36  	 * @return List<IDashboardReportContainer> reports run by this agent.
37  	 */
38  	List getReports();
39  
40  	String getDestinationPath();
41  
42  	String getTitle();
43  
44  	/***
45  	 * In charge of actually running the reports. This method should trigger the
46  	 * reports each to run, passing them a time when the reporting started.
47  	 * Before the reports are triggered, the PreStart event should be triggered
48  	 * on all listeners registered with the agent, followed by all listeners
49  	 * registered with all reports.  Then, after each report is run, the ReportRan
50  	 * event should be triggered, and following completion of all reports, the 
51  	 * ReportingComplete event.  Note that the listeners of the agent should always 
52  	 * be notified before the listeners of the reports.  ReportingExceptions thrown
53  	 * by any reports or any listeners of the agent or report should be caught.  Then
54  	 * the listeners should be notified of the agent, and then the reports, and processing
55  	 * should continue.  
56  	 */
57  	void runAllReports();
58  }