01: // THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS
02: // CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
03: // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
04: // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD.
05: // OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
06: // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
07: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
08: // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
09: // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
10: // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
11: // EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE
12: // POSSIBILITY OF SUCH DAMAGE.
13: //
14: // Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
15: package com.metaboss.sdlctools.domains.enterprisemodel;
16:
17: import com.metaboss.enterprise.bo.BOException;
18: import com.oldboss.framework.bo.BOObject;
19:
20: public interface BOReport extends BOObject {
21: /** Retrieves unique reference */
22: public String getRef() throws BOException;
23:
24: /** Retrieves reprot name. Usually last part of the reference.
25: * name is only unique within type */
26: public String getName() throws BOException;
27:
28: /** Retrieves description */
29: public String getDescription() throws BOException;
30:
31: /** Returns true if report should be run page by page */
32: public boolean hasPaginationFacility() throws BOException;
33:
34: /** Retrieves the domain this report belongs to */
35: public BODomain getDomain() throws BOException;
36:
37: /** Retrieves datatype used carry full report size */
38: public BODatatype getReportSizeDatatype() throws BOException;
39:
40: /** Retrieves datatype used for carry report page size */
41: public BODatatype getReportPageSizeDatatype() throws BOException;
42:
43: /** Retrieves datatype used for carry report page offset */
44: public BODatatype getReportPageOffsetDatatype() throws BOException;
45:
46: /** Returns number of levels in the report output.
47: * zero means that report returns some fields and / or entities but does not have repeatable records inside
48: * one or more means that there is one level of repeatable levels */
49: public int getOutputLevels() throws BOException;
50:
51: /** Retireves the list of input fields */
52: public BOReportInputFieldList getInputFields() throws BOException;
53:
54: /** Retireves the top level output element (level zero) */
55: public BOReportOutputElement getTopLevelOutputElement()
56: throws BOException;
57:
58: /** Retireves the output element from any level */
59: public BOReportOutputElement getOutputElement(int pLevel)
60: throws BOException;
61: }
|