001    /*
002     * file CcHyperlinkType.java
003     *
004     * Licensed Materials - Property of IBM
005     * Restricted Materials of IBM 
006     * com.ibm.rational.wvcm.stp.cc.CcHyperlinkType
007     *
008     * © Copyright IBM Corporation 2004, 2008.  All Rights Reserved.
009     * Note to U.S. Government Users Restricted Rights:  Use, duplication or 
010     * disclosure restricted by GSA ADP  Schedule Contract with IBM Corp.
011     */
012    package com.ibm.rational.wvcm.stp.cc;
013    
014    import javax.wvcm.Feedback;
015    import javax.wvcm.WvcmException;
016    
017    import com.ibm.rational.wvcm.stp.cc.CcTypeBase.TypeCreateFlag;
018    
019    /**
020     * <p>
021     * A proxy for a ClearCase hyperlink type.
022     * </p>
023     * <p>
024     * After creating a hyperlink type, you can connect pairs of objects with hyperlinks of that type. 
025     * Conceptually, a hyperlink is an “arrow” from one VOB-database object (version, branch, element, 
026     * or VOB symbolic link) to another. To enable objects in two different VOBs to be connected, a 
027     * hyperlink type with the same name must be created in both VOBs. For example, you create a hyperlink 
028     * type named <b>design_spec</b>, for use in linking source code files to the associated design documents. 
029     * Later, you can create a hyperlink of this type between <b>my_prog.c</b> and <b>my_prog.dsn</b>.
030     * </p>
031     * <p>
032     * For more information about hyperlinks and hyperlink types, see the ClearCase "Guide to Managing Software Projects"
033     * manual, and the cleartool man pages "mkhltype" and "mkhlink".
034     * </p>
035     * 
036     */
037    public interface CcHyperlinkType extends CcTypeBase
038    {
039        /**
040         * <p>Create a new hyperlink type at the location identified by this proxy. The
041         * location should be an object name selector specifying the hyperlink type's name
042         * and the repository (VOB) in which to create it.
043         * </p>
044         * <p>Set the {@link CcTypeBase#SCOPE} property to specify the new type's global scope.
045         * If no scope is set, a scope of NONE (ordinary scope) is used.
046         * </p>
047         * <p>Set the {@link CcTypeBase#HAS_SHARED_MASTERSHIP} property to <b>true</b> to allow
048         * instances of this type to be created in any VOB replica.  If unspecified, the default
049         * mastership is unshared.
050         * </p>
051        * @param flags Resource-specific creation flags.
052         */
053        public CcHyperlinkType doCreateCcHyperlinkType(TypeCreateFlag[] flags, Feedback feedback) throws WvcmException;
054    }