001    /*
002     * file CqReportFormat.java
003     *
004     * Licensed Materials - Property of IBM
005     * Restricted Materials of IBM 
006     *
007     * com.ibm.rational.wvcm.stp.cq.CqReportFormat
008     *
009     * (C) Copyright IBM Corporation 2008.  All Rights Reserved.
010     * Note to U.S. Government Users Restricted Rights:  Use, duplication or 
011     * disclosure restricted by GSA ADP  Schedule Contract with IBM Corp.
012     */
013    
014    package com.ibm.rational.wvcm.stp.cq;
015    
016    import javax.wvcm.WvcmException;
017    import javax.wvcm.PropertyNameList.PropertyName;
018    
019    import com.ibm.rational.wvcm.stpex.StpExBase;
020    
021    /**
022     * An interface specification for the proxy for a ClearQuest report format
023     * resource. New report formats cannot be created via this API. The Crystal
024     * Reports definition file can be obtained through this API by invoking
025     * doReadContent on a CqReportFormat proxy.
026     * <p>
027     * The user-friendly specification for the location of a report format has the
028     * form
029     * 
030     * <pre>
031     *  <b>cq.query:</b><i>&lt;parent-folder-path&gt;</i>/<i>&lt;report-format-name&gt;</i>@<i>&lt;db-set&gt;</i>/<i>&lt;user-db&gt;</i>
032     * </pre>
033     */
034    public interface CqReportFormat extends CqQueryFolderItem
035    {
036        /**
037         * The type of record for which this report format is defined.
038         */
039        PropertyName<CqRecordType> RECORD_TYPE =
040            new PropertyName<CqRecordType>(StpExBase.PROPERTY_NAMESPACE,
041                                           "record-type");
042    
043        /**
044         * Returns the value of the {@link #RECORD_TYPE RECORD_TYPE} property as
045         * defined by this proxy.
046         * 
047         * @return A CqRecordType proxy specifying the type of record this report
048         *         format is designed to format.
049         * 
050         * @throws WvcmException if this proxy does not define a value for the
051         *             {@link #RECORD_TYPE RECORD_TYPE} property.
052         */
053        CqRecordType getRecordType() throws WvcmException;
054    }