001 /*
002 * file CcVobTag.java
003 *
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM
006 *
007 * com.ibm.rational.wvcm.stp.cc.CcVobTag
008 *
009 * © Copyright IBM Corporation 2008. 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 static com.ibm.rational.wvcm.stpex.StpExBase.PROPERTY_NAMESPACE;
017
018 import javax.wvcm.WvcmException;
019 import javax.wvcm.PropertyNameList.PropertyName;
020
021 import com.ibm.rational.wvcm.stpex.StpExBase;
022
023 /**
024 * <p>
025 * A proxy for a ClearCase VOB tag - the handle by which a ClearCase VOB
026 * is identified and managed.
027 * </p>
028 * <p>
029 * VOB tags are treated as distinct objects from VOBs in order to allow for
030 * the retrieval of basic VOB info and passing of handles to VOBs without
031 * incurring the overhead of actually opening a real VOB connection.
032 * </p>
033 */
034
035 public interface CcVobTag extends CcResource {
036
037 /** Global path for this VOB's storage */
038 PropertyName<String> GLOBAL_PATH =
039 new PropertyName<String>(PROPERTY_NAMESPACE, "global-path");
040
041 /**
042 * Returns the value of this proxy's {@link #GLOBAL_PATH} property.
043 *
044 * @return global pathname for this VOB's storage
045 * @throws WvcmException
046 * if this proxy doesn't define a value for this property.
047 */
048 public String getGlobalPath() throws WvcmException;
049
050 /** Name of host on which the VOB resides */
051 PropertyName<String> HOST_NAME =
052 new PropertyName<String>(PROPERTY_NAMESPACE, "host-name");
053
054 /**
055 * Returns the value of this proxy's {@link #HOST_NAME} property.
056 *
057 * @return host name for this VOB
058 * @throws WvcmException
059 * if this proxy doesn't define a value for this property.
060 */
061 public String getHostName() throws WvcmException;
062
063 /** Host specific path for this VOB's storage */
064 PropertyName<String> HOST_PATH =
065 new PropertyName<String>(PROPERTY_NAMESPACE, "host-path");
066
067 /**
068 * Returns the value of this proxy's {@link #HOST_PATH} property.
069 *
070 * @return host specific pathname for this VOB's storage
071 * @throws WvcmException
072 * if this proxy doesn't define a value for this property.
073 */
074 public String getHostPath() throws WvcmException;
075
076 /** Is this a tag for a project VOB? */
077 PropertyName<Boolean> IS_PROJECT_VOB =
078 new PropertyName<Boolean>(PROPERTY_NAMESPACE, "is-project-vob");
079
080 /**
081 * Returns the value of this proxy's {@link #IS_PROJECT_VOB} property.
082 *
083 * @return true if the VOB tag is for a project VOB, else false
084 * @throws WvcmException
085 * if this proxy doesn't define a value for this property.
086 */
087 boolean getIsProjectVob() throws WvcmException;
088
089 /** Is this a tag for a public VOB? */
090 PropertyName<Boolean> IS_PUBLIC =
091 new PropertyName<Boolean>(PROPERTY_NAMESPACE, "is-public");
092
093 /**
094 * Returns the value of this proxy's {@link #IS_PUBLIC} property.
095 *
096 * @return true if the VOB tag is for a publicVOB, else false
097 * @throws WvcmException
098 * if this proxy doesn't define a value for this property.
099 */
100 boolean getIsPublic() throws WvcmException;
101
102 /**
103 * Mount options specified for this VOB tag in the registry.
104 */
105 PropertyName<String> MOUNT_OPTIONS =
106 new PropertyName<String>(PROPERTY_NAMESPACE, "mount-options");
107
108 /**
109 * Returns the value of this proxy's {@link #MOUNT_OPTIONS} property.
110 *
111 * @return string of mount options, null if none were specified.
112 * @throws WvcmException
113 * if this proxy doesn't define a value for this property.
114 */
115 String getMountOptions() throws WvcmException;
116
117 /** The VOB to which this tag refers */
118 PropertyName<CcVob> VOB =
119 new PropertyName<CcVob>(PROPERTY_NAMESPACE, "vob");
120
121 /**
122 * Returns the value of this proxy's {@link #VOB} property.
123 *
124 * @return the VOB to which this tag refers, as a CcVob instance
125 * @throws WvcmException
126 * if this proxy doesn't define a value for this property.
127 */
128 CcVob getVob() throws WvcmException;
129
130 /** The registry region this tag resides in */
131 PropertyName<CcRegistryRegion> REGISTRY_REGION =
132 new PropertyName<CcRegistryRegion>(PROPERTY_NAMESPACE, "vobtag-registry-region");
133
134 /**
135 * Returns the value of this proxy's {@link #REGISTRY_REGION} property.
136 *
137 * @return A proxy for the registry region of this VOB tag.
138 * @throws WvcmException
139 * if this proxy doesn't define a value for this property.
140 */
141 CcRegistryRegion getRegistryRegion() throws WvcmException;
142 }