001 /* 002 * file CcVob.java 003 * 004 * Licensed Materials - Property of IBM 005 * Restricted Materials of IBM 006 * 007 * com.ibm.rational.wvcm.stp.cc.CcVob 008 * 009 * (C) Copyright IBM Corporation 2004, 2011. 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.cc; 015 016 import static com.ibm.rational.wvcm.stpex.StpExBase.PROPERTY_NAMESPACE; 017 018 import java.util.List; 019 020 import javax.wvcm.PropertyNameList.PropertyName; 021 import javax.wvcm.ResourceList; 022 import javax.wvcm.WvcmException; 023 024 import com.ibm.rational.wvcm.stp.StpRepository; 025 026 /** 027 * <p> 028 * A proxy for a ClearCase versioned object base (VOB) - the repository for all 029 * server-side ClearCase resources. 030 * </p> 031 * <p> 032 * A VOB can either be a regular VOB or project VOB. A project VOB is a 033 * partcular type of VOB that may contain UCM project metadata - projects, 034 * streams, activities, components, and baselines. 035 * </p> 036 */ 037 public interface CcVob extends StpRepository, CcVobResource 038 { 039 /** List of attribute types in this VOB. Includes global types. */ 040 PropertyName<ResourceList<CcAttributeType>> ATTRIBUTE_TYPE_LIST = 041 new PropertyName<ResourceList<CcAttributeType>>(PROPERTY_NAMESPACE, 042 "attribute-type-list"); 043 044 /** 045 * Get the value of this proxy's {@link #ATTRIBUTE_TYPE_LIST} property. Note 046 * that this includes global types higher up the Admin VOB 047 * hierarchy with no local copy in this VOB. 048 * 049 * @return list of attribute types in this VOB as AttributeType instances. 050 * @throws WvcmException if this proxy doesn't define a value for this 051 * property. 052 */ 053 public ResourceList<CcAttributeType> getAttributeTypeList() 054 throws WvcmException; 055 056 /** List of branch types in this VOB. Includes global types. */ 057 PropertyName<ResourceList<CcBranchType>> BRANCH_TYPE_LIST = 058 new PropertyName<ResourceList<CcBranchType>>(PROPERTY_NAMESPACE, 059 "branch-type-list"); 060 061 /** 062 * Get the value of this proxy's {@link #BRANCH_TYPE_LIST} property. Note 063 * that this includes global types higher up the Admin VOB 064 * hierarchy with no local copy in this VOB. 065 * 066 * @return list of branch types in this VOB as BranchType instances. 067 * @throws WvcmException if this proxy doesn't define a value for this 068 * property. 069 */ 070 public ResourceList<CcBranchType> getBranchTypeList() throws WvcmException; 071 072 /** @deprecated */ 073 PropertyName<Boolean> CAN_CREATE_BRANCH_TYPE = 074 new PropertyName<Boolean>(PROPERTY_NAMESPACE, 075 "can-create-branch-type"); 076 077 /** @deprecated */ 078 boolean getCanCreateBranchType() throws WvcmException; 079 080 /** @deprecated */ 081 PropertyName<Boolean> CAN_CREATE_LABEL_TYPE = 082 new PropertyName<Boolean>(PROPERTY_NAMESPACE, 083 "can-create-label-type"); 084 085 /** @deprecated */ 086 boolean getCanCreateLabelType()throws WvcmException; 087 088 /** @deprecated */ 089 PropertyName<Boolean> CAN_CREATE_POLICY = 090 new PropertyName<Boolean>(PROPERTY_NAMESPACE, 091 "can-create-policy"); 092 093 /** @deprecated */ 094 boolean getCanCreatePolicy()throws WvcmException; 095 096 /** @deprecated */ 097 PropertyName<Boolean> CAN_CREATE_ROLEMAP = 098 new PropertyName<Boolean>(PROPERTY_NAMESPACE, 099 "can-create-rolemap"); 100 101 /** @deprecated */ 102 boolean getCanCreateRolemap()throws WvcmException; 103 104 /** 105 * List of UCM components in this project VOB. 106 * This property is only supported on project VOBs. 107 */ 108 PropertyName<ResourceList<CcComponent>> COMPONENT_LIST = 109 new PropertyName<ResourceList<CcComponent>>(PROPERTY_NAMESPACE, 110 "component-list"); 111 112 /** 113 * Get the value of this proxy's {@link #COMPONENT_LIST} property. 114 * 115 * @return list of components in this VOB as UcmComponent instances. 116 * @throws WvcmException if this proxy doesn't define a value for this 117 * property. 118 */ 119 public ResourceList<CcComponent> getComponentList() throws WvcmException; 120 121 /** List of element types in this VOB. Includes global types. */ 122 PropertyName<ResourceList<CcElementType>> ELEMENT_TYPE_LIST = 123 new PropertyName<ResourceList<CcElementType>>(PROPERTY_NAMESPACE, 124 "element-type-list"); 125 126 /** 127 * Get the value of this proxy's {@link #ELEMENT_TYPE_LIST} property. Note 128 * that this includes global types higher up the Admin VOB 129 * hierarchy with no local copy in this VOB. 130 * 131 * @return list of element types in this VOB as ElementType instances. 132 * @throws WvcmException if this proxy doesn't define a value for this 133 * property. 134 */ 135 public ResourceList<CcElementType> getElementTypeList() 136 throws WvcmException; 137 138 /** List of hyperlink types in this VOB. Includes global types. */ 139 PropertyName<ResourceList<CcHyperlinkType>> HYPERLINK_TYPE_LIST = 140 new PropertyName<ResourceList<CcHyperlinkType>>(PROPERTY_NAMESPACE, 141 "hyperlink-type-list"); 142 143 /** 144 * Get the value of this proxy's {@link #HYPERLINK_TYPE_LIST} property. Note 145 * that this includes global types higher up the Admin VOB 146 * hierarchy with no local copy in this VOB. 147 * 148 * @return list of hyperlink types in this VOB as HyperlinkType instances. 149 * @throws WvcmException if this proxy doesn't define a value for this 150 * property. 151 */ 152 public ResourceList<CcHyperlinkType> getHyperlinkTypeList() 153 throws WvcmException; 154 155 /** Is this VOB a project VOB? */ 156 PropertyName<Boolean> IS_PROJECT_VOB = 157 new PropertyName<Boolean>(PROPERTY_NAMESPACE, 158 "is-project-vob"); 159 160 /** 161 * Returns the value of this proxy's {@link #IS_PROJECT_VOB} property. 162 * 163 * @return true if this VOB is a project VOB, else false 164 * @throws WvcmException if this proxy doesn't define a value for this 165 * property. 166 */ 167 boolean getIsProjectVob() throws WvcmException; 168 169 /** Is this VOB replicated? */ 170 PropertyName<Boolean> IS_REPLICATED = 171 new PropertyName<Boolean>(PROPERTY_NAMESPACE, "is-replicated"); 172 173 /** 174 * Returns the value of this proxy's {@link #IS_REPLICATED} property. 175 * 176 * @return true if the VOB is replicated, else false 177 * @throws WvcmException 178 * if this proxy doesn't define a value for this property. 179 */ 180 boolean getIsReplicated() throws WvcmException; 181 182 /** List of label types in this VOB. Includes global types. */ 183 PropertyName<ResourceList<CcLabelType>> LABEL_TYPE_LIST = 184 new PropertyName<ResourceList<CcLabelType>>(PROPERTY_NAMESPACE, 185 "label-type-list"); 186 187 /** 188 * Get the value of this proxy's {@link #LABEL_TYPE_LIST} property. Note 189 * that this includes global types higher up the Admin VOB 190 * hierarchy with no local copy in this VOB. 191 * 192 * @return list of label types in this VOB as LabelType instances. 193 * @throws WvcmException if this proxy doesn't define a value for this 194 * property. 195 */ 196 public ResourceList<CcLabelType> getLabelTypeList() throws WvcmException; 197 198 /** 199 * Ordered list of Admin VOBs for this VOB with the immediate parent first 200 * and the furthest ancestor last. 201 */ 202 PropertyName<ResourceList<CcVob>> ORDERED_ADMIN_VOB_LIST = 203 new PropertyName<ResourceList<CcVob>>(PROPERTY_NAMESPACE, 204 "ordered-admin-vob-list"); 205 206 /** 207 * Get the value of this proxy's {@link #ORDERED_ADMIN_VOB_LIST} property. 208 * 209 * @return list of Admin VOBs for this VOB 210 * @throws WvcmException if this proxy doesn't define a value for this 211 * property. 212 */ 213 public ResourceList<CcVob> getOrderedAdminVobList() throws WvcmException; 214 215 /** 216 * This project VOB's root UCM project folder. 217 * This property is only supported on project VOBs. 218 */ 219 PropertyName<CcProjectFolder> ROOT_PROJECT_FOLDER = 220 new PropertyName<CcProjectFolder>(PROPERTY_NAMESPACE, 221 "root-project-folder"); 222 223 /** 224 * Returns the value of this proxy's {@link #ROOT_PROJECT_FOLDER} property. 225 * 226 * @return A client proxy for this project VOB's root project folder 227 * @throws WvcmException if this proxy doesn't define a value for this 228 * property. 229 */ 230 public CcProjectFolder getRootProjectFolder() throws WvcmException; 231 232 /** 233 * This VOB's db schema version. 234 */ 235 PropertyName<Long> SCHEMA_VERSION = 236 new PropertyName<Long>(PROPERTY_NAMESPACE, "schema-version"); 237 238 /** 239 * Get the value of this proxy's {@link #SCHEMA_VERSION} property. 240 * @return long indicating VOB's schema version 241 * @throws WvcmException if this proxy doesn't define a value for this 242 * property. 243 */ 244 public long getSchemaVersion() throws WvcmException; 245 246 /** List of trigger types in this VOB */ 247 PropertyName<ResourceList<CcTriggerType>> TRIGGER_TYPE_LIST = 248 new PropertyName<ResourceList<CcTriggerType>>(PROPERTY_NAMESPACE, 249 "trigger-type-list"); 250 251 /** 252 * Get the value of this proxy's {@link #TRIGGER_TYPE_LIST} property. 253 * 254 * @return list of trigger types in this VOB as TriggerType instances. 255 * @throws WvcmException if this proxy doesn't define a value for this 256 * property. 257 */ 258 public ResourceList<CcTriggerType> getTriggerTypeList() 259 throws WvcmException; 260 261 /** This VOB's VOB tag as a string in the current registry region. */ 262 PropertyName<String> VOB_TAG_STRING = new PropertyName<String>(PROPERTY_NAMESPACE, 263 "vob-tag-string"); 264 265 /** 266 * Returns the value of this proxy's {@link #VOB_TAG_STRING} property. 267 * 268 * @return this VOB's VOB tag 269 * @throws WvcmException if this proxy doesn't define a value for this 270 * property. 271 */ 272 public String getVobTagString() throws WvcmException; 273 274 /** 275 * This VOB's VOB tag as a {@link CcVobTag} resource in the current 276 * registry region. 277 */ 278 PropertyName<CcVobTag> VOB_TAG = 279 new PropertyName<CcVobTag>(PROPERTY_NAMESPACE, "vob-tag"); 280 281 /** 282 * Returns the value of this proxy's {@link #VOB_TAG} property. 283 * 284 * @return this VOB's VOB tag 285 * @throws WvcmException if this proxy doesn't define a value for this 286 * property. 287 */ 288 public CcVobTag getVobTag() throws WvcmException; 289 290 /** 291 * The list of MultiSite replicas of this VOB. 292 * This list may be incomplete; other replicas may exist, but their 293 * creation packets have not yet been imported at the current replica. 294 */ 295 PropertyName<ResourceList<CcReplica>> REPLICA_LIST = 296 new PropertyName<ResourceList<CcReplica>>( 297 PROPERTY_NAMESPACE, "replica-list"); 298 299 /** 300 * Returns the value of this proxy's {@link #REPLICA_LIST} property. 301 * 302 * @return this VOB's list of replicas as a list of CcReplica instances 303 * @throws WvcmException if this proxy doesn't define a value for this 304 * property. 305 */ 306 public ResourceList<CcReplica> getReplicaList() throws WvcmException; 307 308 /** 309 * Check to see if a type with the given name is visible in this VOB. 310 * To be visible a type must be an ordinary or local type defined in the VOB 311 * or a global type in the AdminVOB hierarchy above this VOB which has 312 * not yet been instantiated. 313 * @param labelName Name of the label to look for. 314 * @return true if a label with that name is visible from this VOB, else false. 315 */ 316 public boolean doIsLabelTypeVisible(String labelName) throws WvcmException; 317 318 /** Is atomic checkin enabled in this VOB? */ 319 PropertyName<Boolean> IS_ATOMIC_CHECKIN_ENABLED = 320 new PropertyName<Boolean>(PROPERTY_NAMESPACE, "is-atomic-checkin-enabled"); 321 322 /** 323 * Returns the value of this proxy's {@link #IS_ATOMIC_CHECKIN_ENABLED} property. 324 * 325 * @return true if atomic checkin is enabled in this VOB; false otherwise 326 * @throws WvcmException if this proxy doesn't define a value for this 327 * property. 328 */ 329 public boolean getIsAtomicCheckinEnabled() throws WvcmException; 330 331 /** 332 * @deprecated 333 */ 334 PropertyName<List<String>> ACCESS_CONTROLLED_RESOURCE_TYPE_LIST = 335 new PropertyName<List<String>>(PROPERTY_NAMESPACE, "access-controlled-resource-type-list"); 336 337 /** 338 * @deprecated 339 */ 340 public List<String> getAccessControlledResourceTypeList() throws WvcmException; 341 342 }