001 /*
002 * file CcBranchType.java
003 *
004 *
005 * Licensed Materials - Property of IBM
006 * Restricted Materials of IBM
007 *
008 * com.ibm.rational.wvcm.stp.cc.CcBranchType
009 *
010 * © Copyright IBM Corporation 2004, 2008. 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 javax.wvcm.Feedback;
019 import javax.wvcm.WvcmException;
020
021 import com.ibm.rational.wvcm.stp.cc.CcTypeBase.TypeCreateFlag;
022
023 /**
024 * <p>
025 * A proxy for a ClearCase branch type.
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 CcBranchType extends CcTypeBase
041 {
042 /**
043 * <p>Create a new branch type at the location identified by this proxy. The
044 * location should be an object name selector specifying the branch type's name
045 * and the repository (VOB) in which to create it.
046 * </p>
047 * <p>Set the {@link CcTypeBase#SCOPE} property to specify the new type's global scope.
048 * If no scope is set, a scope of NONE (ordinary scope) is used.
049 * </p>
050 * <p>Set the {@link CcTypeBase#INSTANCE_CONSTRAINT} property to determine where the new type
051 * may be applied. Valid values for branch types are BRANCH and ELEMENT. If no constraint
052 * is set the default is ELEMENT.
053 * </p>
054 * @param flags Resource-specific creation flags.
055 */
056 public CcBranchType doCreateCcBranchType(TypeCreateFlag[] flags, Feedback feedback) throws WvcmException;
057 }