01: package org.netbeans.modules.reportgenerator.api;
02:
03: import java.awt.Image;
04:
05: /**
06: * Report represents a logical report.
07: * It consist of high level report description, an overview
08: * image and report level attributes which are key value pair.
09: *
10: * A report consists of a header, body and footer.
11: * @author radval
12: *
13: */
14: public interface Report extends ReportAttributeContainer {
15:
16: /**
17: * Get the name of the report.
18: * @return
19: */
20: String getName();
21:
22: /**
23: * set the name of the report. This is typically
24: * the heading at the start of the generated report.
25: *
26: * @param name
27: */
28: void setName(String name);
29:
30: /**
31: * Get the description for this report.
32: * Usually it is high level description of report
33: * describing what this report is all about.
34: * @return report description.
35: */
36: String getDescription();
37:
38: /**
39: * set the description for this report.
40: * Usually it is high level description of report
41: * describing what this report is all about.
42: * @param description report description
43: */
44: void setDescription(String description);
45:
46: /**
47: * set the image for whole report. Usually
48: * this image is an overview image for whole report.
49: * @param image Image
50: */
51: void setOverViewImage(Image image);
52:
53: /**
54: * Get the image for whole report. Usually
55: * this image is an overview image for whole report.
56: * @return Image
57: */
58: Image getOverviewImage();
59:
60: /**
61: * Get the header section for this report.
62: * @return ReportHeader.
63: */
64: ReportHeader getHeader();
65:
66: /**
67: *
68: * @param header
69: */
70: void setHeader(ReportHeader header);
71:
72: /**
73: * Get report body.
74: * @return ReportBody
75: */
76: ReportBody getBody();
77:
78: /**
79: * Set report body.
80: * @param body ReportBody
81: */
82: void setBody(ReportBody body);
83:
84: /**
85: * Get report footer.
86: * @return ReportFooter.
87: */
88: ReportFooter getFooter();
89:
90: /**
91: * Set report footer.
92: * @param footer ReportFooter
93: */
94: void setFooter(ReportFooter footer);
95: }
|