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
014package com.ibm.rational.wvcm.stp.cq;
015
016import javax.wvcm.WvcmException;
017import javax.wvcm.PropertyNameList.PropertyName;
018
019import 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 */
034public 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}