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, 2011.  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    /**
020     * <p>A proxy for a ClearCase label type.
021     * </p>
022     * <p>A label is a user-defined name that can be attached to a set of
023     * related ClearCase element versions.  In base (non-UCM) ClearCase projects,
024     * labels could be used to capture the set of versions in a particular
025     * development checkpoint, a product release, etc.
026     * </p>
027     * <p>For more information about labels and label types, see the ClearCase
028     * "Guide to Managing Software Projects" manual, and the cleartool man pages "mklbtype",
029     * "mklabel", and "config_spec".
030     * </p>
031     */
032    public interface CcLabelType extends CcTypeBase
033    {
034        /**
035         * <p>Create a new label type at the location identified by this proxy. The
036         * location should be an object name selector specifying the label type's name
037         * and the repository (VOB) in which to create it.
038         * </p>
039         * <p>Set the {@link CcTypeBase#SCOPE} property to specify the new type's global scope.
040         * If no scope is set, a scope of NONE (ordinary scope) is used.
041         * </p>
042         * <p>Set the {@link CcTypeBase#INSTANCE_CONSTRAINT} property to determine where the new type
043         * may be applied.  Valid values for label types are BRANCH and ELEMENT.  If no constraint
044         * is set the default is ELEMENT.
045         * </p>
046         * <p>Set the {@link CcTypeBase#HAS_SHARED_MASTERSHIP} property to <b>true</b> to allow
047         * instances of this type to be created in any VOB replica.  If unspecified, the default
048         * mastership is unshared.
049         * </p>
050         * @param flags Resource-specific creation flags.
051         */
052        public CcLabelType doCreateCcLabelType(TypeCreateFlag[] flags, Feedback feedback) throws WvcmException;
053    }