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
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.PropertyNameList.PropertyName;
021 import 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 */
040 public 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 }