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
014package com.ibm.rational.wvcm.stp.cc;
015
016import javax.wvcm.Feedback;
017import 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 */
032public 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}