001 /*
002 * file CcHyperlink.java
003 *
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM
006 * com.ibm.rational.wvcm.stp.cc.CcHyperlink
007 *
008 * (C) Copyright IBM Corporation 2007, 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 static com.ibm.rational.wvcm.stpex.StpExBase.PROPERTY_NAMESPACE;
015
016 import javax.wvcm.WvcmException;
017 import javax.wvcm.PropertyNameList.PropertyName;
018
019 /**
020 * A proxy for a ClearCase hyperlink object.
021 * <p>
022 * Conceptually, a hyperlink is an “arrow” from one VOB-database object (version, branch, element,
023 * VOB symbolic link or VOB) to another. A merge arrow is a special kind of hyperlink.
024 * </p>
025 * <p>
026 * For more information about hyperlinks, see the ClearCase "Guide to Managing Software Projects"
027 * manual, and the cleartool man page "mkhlink".
028 * </p>
029 */
030 public interface CcHyperlink extends CcVobResource
031 {
032 /**
033 * The resource at the "from" end of the hyperlink
034 */
035 PropertyName<CcResource> FROM_RESOURCE =
036 new PropertyName<CcResource>(PROPERTY_NAMESPACE,
037 "hlink-from-resource");
038
039 /**
040 * Get the value of this hyperlink instance's {@link #FROM_RESOURCE} property.
041 *
042 * @return resource hyperlink instance points from
043 * @throws WvcmException
044 * if this proxy doesn't define a value for this property or
045 * the resource is unavailable/does not exist
046 */
047 CcResource getFromResource() throws WvcmException;
048
049 /**
050 * The text associated with the "from" end of the hyperlink.
051 */
052 PropertyName<String> FROM_TEXT =
053 new PropertyName<String>(PROPERTY_NAMESPACE,
054 "hlink-from-text");
055
056 /**
057 * Get the value of this hyperlink instance's {@link #FROM_TEXT} property.
058 *
059 * @return String containing text associated with the "from" end of the hyperlink.
060 * Will be <code>null</code> if no text was specified during hyperlink creation.
061 * @throws WvcmException
062 * if this proxy doesn't define a value for this property or
063 * the resource is unavailable/does not exist
064 */
065 String getFromText() throws WvcmException;
066
067 /**
068 * The resource at the "to" end of the hyperlink
069 */
070 PropertyName<CcResource> TO_RESOURCE =
071 new PropertyName<CcResource>(PROPERTY_NAMESPACE,
072 "hlink-to-resource");
073
074 /**
075 * Get the value of this hyperlink instance's {@link #TO_RESOURCE} property.
076 *
077 * @return resource hyperlink instance points to, or null if single-ended hyperlink
078 * @throws WvcmException
079 * if this proxy doesn't define a value for this property or
080 * the resource is unavailable/does not exist
081 */
082 CcResource getToResource() throws WvcmException;
083
084 /**
085 * The text associated with the "to" end of the hyperlink.
086 */
087 PropertyName<String> TO_TEXT =
088 new PropertyName<String>(PROPERTY_NAMESPACE,
089 "hlink-to-text");
090
091 /**
092 * Get the value of this hyperlink instance's {@link #TO_TEXT} property.
093 *
094 * @return String containing text associated with the "to" end of the hyperlink.
095 * Will be <code>null</code> if no text was specified during hyperlink creation.
096 * @throws WvcmException
097 * if this proxy doesn't define a value for this property or
098 * the resource is unavailable/does not exist
099 */
100 String getToText() throws WvcmException;
101
102 /**
103 * The hyperlink type of which this hyperlink is an instance.
104 */
105 PropertyName<CcHyperlinkType> TYPE =
106 new PropertyName<CcHyperlinkType>(PROPERTY_NAMESPACE,
107 "hlink-type");
108
109 /**
110 * Get the value of this hyperlink instance's {@link #TYPE} property.
111 *
112 * @return hyperlink instance's hyperlink type
113 * @throws WvcmException
114 * if this proxy doesn't define a value for this property.
115 */
116 CcHyperlinkType getType() throws WvcmException;
117
118 }