001 /* 002 * file CcBranch.java 003 * 004 * 005 * Licensed Materials - Property of IBM 006 * Restricted Materials of IBM 007 * 008 * com.ibm.rational.wvcm.stp.cc.CcBranch 009 * 010 * © Copyright IBM Corporation 2009. All Rights Reserved. 011 * Note to U.S. Government Users Restricted Rights: Use, duplication or 012 * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 013 */ 014 015 016 package com.ibm.rational.wvcm.stp.cc; 017 018 import static com.ibm.rational.wvcm.stpex.StpExBase.PROPERTY_NAMESPACE; 019 020 import javax.wvcm.Feedback; 021 import javax.wvcm.WvcmException; 022 import javax.wvcm.PropertyNameList.PropertyName; 023 024 import com.ibm.rational.wvcm.stp.cc.CcTypeBase.TypeCreateFlag; 025 026 /** 027 * <p> 028 * A proxy for a ClearCase branch. 029 * </p> 030 * <p> 031 * Branches are used in base ClearCase to enable parallel development. 032 * A branch is an object that specifies a linear sequence of versions of an element. 033 * Every element has one <b>main</b> branch, which represents the principal line of development, 034 * and may have multiple subbranches, each of which represents a separate line of development. 035 * For example, a project team may use the <b>main</b> branch for new development work while using a 036 * subbranch simultaneously for fixing a bug. 037 * </p> 038 * <p> 039 * For more branch information, see the ClearCase "Guide to Managing Software Projects" 040 * manual, and the cleartool man pages "mkbrtype" and "mkbranch". 041 * </p> 042 */ 043 public interface CcBranch extends CcVobResource 044 { 045 /** 046 * The branch type of which this branch is an instance. 047 * */ 048 PropertyName<CcBranchType> TYPE = 049 new PropertyName<CcBranchType>(PROPERTY_NAMESPACE, 050 "branch-type"); 051 052 /** 053 * Get the value of this branch instance's {@link #TYPE} property. 054 * 055 * @return branch instance's branch type 056 * @throws WvcmException 057 * if this proxy doesn't define a value for this property. 058 */ 059 CcBranchType getType() throws WvcmException; 060 }