001 /* 002 * file CcViewTag.java 003 * 004 * Licensed Materials - Property of IBM 005 * Restricted Materials of IBM 006 * 007 * com.ibm.rational.wvcm.stp.cc.CcViewTag 008 * 009 * (C) 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 import com.ibm.rational.wvcm.stpex.StpExEnumeration; 023 import com.ibm.rational.wvcm.stpex.StpExEnumerationBase; 024 025 /** 026 * <p> 027 * A proxy for a ClearCase view tag - the handle by which a ClearCase view 028 * is identified and managed. 029 * </p> 030 * <p> 031 * View tags are treated as distinct objects from views in order to allow the 032 * for retrieval of basic view info and passing of handles to views without 033 * incurring the overhead of actually opening a real view connection. 034 * </p> 035 */ 036 037 public interface CcViewTag extends CcResource { 038 039 /** 040 * Type of ClearCase view. 041 * View type is one of 042 * <bl> 043 * <li>Dynamic. 044 * </li> 045 * <li>Snapshot. 046 * </li> 047 * <li>Web. 048 * </li> 049 * </bl> 050 * For more information, see the ClearCase Reference Manual. 051 */ 052 enum ViewType implements StpExEnumeration { 053 /** This is a dynamic view. */ 054 DYNAMIC, 055 056 /** This is a snapshot view */ 057 SNAPSHOT, 058 059 /** This a web view. */ 060 WEB; 061 } 062 063 /** Is this a tag for a UCM view? */ 064 PropertyName<Boolean> IS_UCM_VIEW = 065 new PropertyName<Boolean>(PROPERTY_NAMESPACE, 066 "is-ucm-view"); 067 068 /** 069 * Returns the value of this proxy's {@link #IS_UCM_VIEW} property. 070 * 071 * @return true if the view tag is for a UCM view, else false 072 * @throws WvcmException 073 * if this proxy doesn't define a value for this property. 074 */ 075 boolean getIsUcmView() throws WvcmException; 076 077 /** The view to which this tag refers */ 078 PropertyName<CcView> VIEW = 079 new PropertyName<CcView>(PROPERTY_NAMESPACE, "view"); 080 081 /** 082 * Returns the value of this proxy's {@link #VIEW} property. 083 * 084 * @return the view to which this tag refers, as CcView instance 085 * @throws WvcmException 086 * if this proxy doesn't define a value for this property. 087 */ 088 CcView getView() throws WvcmException; 089 090 /** Kind of view to which this tag refers */ 091 PropertyName<ViewType> VIEW_TYPE = 092 new PropertyName<ViewType>(PROPERTY_NAMESPACE, 093 "view-tag-view-type"); 094 095 /** 096 * Returns the value of this proxy's {@link #VIEW_TYPE} property. 097 * 098 * @return Kind of view this tag refers to. 099 * @throws WvcmException 100 * if this proxy doesn't define a value for this property. 101 */ 102 ViewType getViewType () throws WvcmException; 103 104 /** The registry region this tag resides in */ 105 PropertyName<CcRegistryRegion> REGISTRY_REGION = 106 new PropertyName<CcRegistryRegion>(PROPERTY_NAMESPACE, "viewtag-registry-region"); 107 108 /** 109 * Returns the value of this proxy's {@link #REGISTRY_REGION} property. 110 * 111 * @return The registry region of this view tag. 112 * @throws WvcmException 113 * if this proxy doesn't define a value for this property. 114 */ 115 CcRegistryRegion getRegistryRegion() throws WvcmException; 116 }