001    /*
002    * file CcLabelType.java
003    *
004    * Licensed Materials - Property of IBM
005    * Restricted Materials of IBM
006    * 
007    * com.ibm.rational.wvcm.stp.cc.CcLabelType
008    *
009    * (C) Copyright IBM Corporation 2004, 2008.  All Rights Reserved. 
010    * Note to U.S. Government Users Restricted Rights:  Use, duplication or  
011    * disclosure restricted by GSA ADP  Schedule Contract with IBM Corp. 
012    */
013    
014    package com.ibm.rational.wvcm.stp.cc;
015    
016    import javax.wvcm.Feedback;
017    import javax.wvcm.WvcmException;
018    
019    import com.ibm.rational.wvcm.stp.cc.CcTypeBase.TypeCreateFlag;
020    
021    /**
022     * <p>A proxy for a ClearCase label type.
023     * </p>
024     * <p>A label is a user-defined name that can be attached to a set of
025     * related ClearCase element versions.  In base (non-UCM) ClearCase projects,
026     * labels could be used to capture the set of versions in a particular
027     * development checkpoint, a product release, etc.
028     * </p>
029     * <p>For more information about labels and label types, see the ClearCase
030     * "Guide to Managing Software Projects" manual, and the cleartool man pages "mklbtype",
031     * "mklabel", and "config_spec".
032     * </p>
033     */
034    public interface CcLabelType extends CcTypeBase
035    {
036        /**
037         * <p>Create a new label type at the location identified by this proxy. The
038         * location should be an object name selector specifying the label type's name
039         * and the repository (VOB) in which to create it.
040         * </p>
041         * <p>Set the {@link CcTypeBase#SCOPE} property to specify the new type's global scope.
042         * If no scope is set, a scope of NONE (ordinary scope) is used.
043         * </p>
044         * <p>Set the {@link CcTypeBase#INSTANCE_CONSTRAINT} property to determine where the new type
045         * may be applied.  Valid values for label types are BRANCH and ELEMENT.  If no constraint
046         * is set the default is ELEMENT.
047         * </p>
048         * <p>Set the {@link CcTypeBase#HAS_SHARED_MASTERSHIP} property to <b>true</b> to allow
049         * instances of this type to be created in any VOB replica.  If unspecified, the default
050         * mastership is unshared.
051         * </p>
052         * @param flags Resource-specific creation flags.
053         */
054        public CcLabelType doCreateCcLabelType(TypeCreateFlag[] flags, Feedback feedback) throws WvcmException;
055    }