001/*
002 * file CqResource.java
003 * 
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM 
006 *
007 * com.ibm.rational.wvcm.stp.cq.CqResource
008 *
009 * (C) Copyright IBM Corporation 2004, 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 java.util.Date;
017import java.util.List;
018import java.util.Locale;
019
020import javax.wvcm.Folder;
021import javax.wvcm.ResourceList;
022import javax.wvcm.Workspace;
023import javax.wvcm.WvcmException;
024
025import com.ibm.rational.wvcm.stp.StpResource;
026import com.ibm.rational.wvcm.stp.StpException.StpReasonCode;
027
028/**
029 * Properties and methods common to all ClearQuest resources
030 */
031public interface CqResource extends StpResource
032{
033    /**
034     * @return Returns the CqProvider from which this proxy was obtained.
035     */
036    CqProvider cqProvider();
037
038    /**
039     * Most ClearQuest resources <i>do not</i> support the COMMENT property
040     * @see javax.wvcm.Resource#getComment()
041     */
042    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
043    String getComment() throws WvcmException;
044
045    /**
046     * Most ClearQuest resources <i>do not</i> support the COMMENT property
047     * @see javax.wvcm.Resource#setComment(java.lang.String)
048     */
049    @UnsupportedProperty(StpReasonCode.PROPERTY_OVERWRITE_FORBIDDEN)
050    void setComment(String value);
051
052    /**
053     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i> support
054     * the CONTENT_LENGTH property
055     * 
056     * @see javax.wvcm.Resource#getContentLength()()
057     */
058
059    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
060    long getContentLength() throws WvcmException;
061
062    /**
063     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
064     * support the CONTENT_CHARACTER_SET property
065     * 
066     * @see javax.wvcm.Resource#getContentCharacterSet()()
067     */
068    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
069    String getContentCharacterSet() throws WvcmException;
070
071    /**
072     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
073     * support the CONTENT_CHARACTER_SET property
074     * 
075     * @see javax.wvcm.Resource#setContentCharacterSet(java.lang.String)
076     */
077    @UnsupportedProperty(StpReasonCode.PROPERTY_OVERWRITE_FORBIDDEN)
078    void setContentCharacterSet(String value);
079
080    /**
081     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
082     * support the CONTENT_IDENTIFIER property
083     * 
084     * @see javax.wvcm.Resource#getContentIdentifier()()
085     */
086
087    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
088    String getContentIdentifier() throws WvcmException;
089
090    /**
091     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
092     * support the CONTENT_LANGUAGE property
093     * 
094     * @see javax.wvcm.Resource#getContentLanguage()
095     */
096
097    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
098    Locale getContentLanguage() throws WvcmException;
099
100    /**
101     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
102     * support the CONTENT_LANGUAGE property
103     * 
104     * @see javax.wvcm.Resource#setContentLanguage(java.util.Locale)
105     */
106    @UnsupportedProperty(StpReasonCode.PROPERTY_OVERWRITE_FORBIDDEN)
107    void setContentLanguage(Locale value);
108
109    /**
110     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i> support
111     * the CONTENT_TYPE property
112     * 
113     * @see javax.wvcm.Resource#getContentType()()
114     */
115    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
116    String getContentType() throws WvcmException;
117
118    /**
119     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i> support
120     * the CONTENT_TYPE property
121     * @see javax.wvcm.Resource#setContentType(java.lang.String)
122     */
123    @UnsupportedProperty(StpReasonCode.PROPERTY_OVERWRITE_FORBIDDEN)
124    void setContentType(String value);
125
126    /**
127     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
128     * support the CREATION_DATE property
129     * 
130     * @see javax.wvcm.Resource#getCreationDate()()
131     */
132
133    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
134    Date getCreationDate() throws WvcmException;
135
136    /**
137     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
138     * support the CREATOR_DISPLAY_NAME property
139     * 
140     * @see javax.wvcm.Resource#getCreatorDisplayName()
141     */
142
143    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
144    String getCreatorDisplayName() throws WvcmException;
145
146    /**
147     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
148     * support the CREATOR_DISPLAY_NAME property
149     * @see javax.wvcm.Resource#setCreatorDisplayName(java.lang.String)
150     */
151    @UnsupportedProperty(StpReasonCode.PROPERTY_OVERWRITE_FORBIDDEN)
152    void setCreatorDisplayName(String value);
153
154    /**
155     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
156     * support the CREATOR_GROUP_NAME property
157     * 
158     * @see com.ibm.rational.wvcm.stp.StpResource#getCreatorGroupName()
159     */
160
161    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
162    String getCreatorGroupName() throws WvcmException;
163
164    /**
165     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
166     * support the CREATOR_LOGIN_NAME property
167     * 
168     * @see com.ibm.rational.wvcm.stp.StpResource#getCreatorLoginName()
169     */
170
171    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
172    String getCreatorLoginName() throws WvcmException;
173
174    /**
175     * Most ClearQuest resources <i>do not</i> have content and therefore <i>do not</i>
176     * support the LAST_MODIFIED property
177     * 
178     * @see javax.wvcm.Resource#getLastModified()
179     */
180
181    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
182    Date getLastModified() throws WvcmException;
183
184    /**
185     * <i>No</i> ClearQuest resources is executable
186     * 
187     * @see javax.wvcm.Resource#getIsExecutable()
188     */
189
190    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
191    Boolean getIsExecutable() throws WvcmException;
192
193    /**
194     * <i>No</i> ClearQuest resource is executable
195     * 
196     * @see javax.wvcm.Resource#getIsExecutable()
197     */
198    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
199    void setIsExecutable(Boolean executable);
200    
201    /**
202     * ClearQuest resources do not use workspaces.
203     * @see javax.wvcm.Resource#getWorkspaceFolderList()
204     */
205    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
206    ResourceList<Folder> getWorkspaceFolderList() throws WvcmException;
207    
208    /**
209     * @see javax.wvcm.Resource#getWorkspaceFolderList()
210     */
211    @UnsupportedProperty(StpReasonCode.PROPERTY_NOT_SUPPORTED_BY_SERVER)
212    List<String> getProviderList() throws WvcmException;
213}