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 }