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}