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