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 * (C) Copyright IBM Corporation 2009, 2011. 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 016package com.ibm.rational.wvcm.stp.cc; 017 018import static com.ibm.rational.wvcm.stpex.StpExBase.PROPERTY_NAMESPACE; 019 020import javax.wvcm.PropertyNameList.PropertyName; 021import javax.wvcm.WvcmException; 022 023/** 024 * <p> 025 * A proxy for a ClearCase branch. 026 * </p> 027 * <p> 028 * Branches are used in base ClearCase to enable parallel development. 029 * A branch is an object that specifies a linear sequence of versions of an element. 030 * Every element has one <b>main</b> branch, which represents the principal line of development, 031 * and may have multiple subbranches, each of which represents a separate line of development. 032 * For example, a project team may use the <b>main</b> branch for new development work while using a 033 * subbranch simultaneously for fixing a bug. 034 * </p> 035 * <p> 036 * For more branch information, see the ClearCase "Guide to Managing Software Projects" 037 * manual, and the cleartool man pages "mkbrtype" and "mkbranch". 038 * </p> 039 */ 040public interface CcBranch extends CcVobResource 041{ 042 /** 043 * The branch type of which this branch is an instance. 044 * */ 045 PropertyName<CcBranchType> TYPE = 046 new PropertyName<CcBranchType>(PROPERTY_NAMESPACE, 047 "branch-type"); 048 049 /** 050 * Get the value of this branch instance's {@link #TYPE} property. 051 * 052 * @return branch instance's branch type 053 * @throws WvcmException 054 * if this proxy doesn't define a value for this property. 055 */ 056 CcBranchType getType() throws WvcmException; 057}