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, 2014. 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.PropertyNameList.PropertyName;
019 import javax.wvcm.WvcmException;
020
021 import com.ibm.rational.wvcm.stpex.StpExEnumeration;
022
023 /**
024 * <p>
025 * A proxy for a ClearCase view tag - the handle by which a ClearCase view
026 * is identified and managed.
027 * </p>
028 * <p>
029 * View tags are treated as distinct objects from views in order to allow the
030 * for retrieval of basic view info and passing of handles to views without
031 * incurring the overhead of actually opening a real view connection.
032 * </p>
033 */
034
035 public interface CcViewTag extends CcResource {
036
037 /**
038 * Type of ClearCase view.
039 * View type is one of
040 * <bl>
041 * <li>Dynamic.
042 * </li>
043 * <li>Snapshot.
044 * </li>
045 * <li>Web.
046 * </li>
047 * <li>Automatic.
048 * </bl>
049 * <br>
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 /** This is an automatic view. */
063 AUTOMATIC;
064 }
065
066 /** Is this a tag for a UCM view? */
067 PropertyName<Boolean> IS_UCM_VIEW =
068 new PropertyName<Boolean>(PROPERTY_NAMESPACE,
069 "is-ucm-view");
070
071 /**
072 * Returns the value of this proxy's {@link #IS_UCM_VIEW} property.
073 *
074 * @return true if the view tag is for a UCM view, else false
075 * @throws WvcmException
076 * if this proxy doesn't define a value for this property.
077 */
078 boolean getIsUcmView() throws WvcmException;
079
080 /** Is the View represented by this tag started? */
081 PropertyName<Boolean> IS_ACTIVE =
082 new PropertyName<Boolean>(PROPERTY_NAMESPACE,
083 "is-active");
084
085 /**
086 * Returns the value of this proxy's {@link #IS_ACTIVE} property.
087 *
088 * @return true if the view tag is for an active view, else false
089 * @throws WvcmException
090 * if this proxy doesn't define a value for this property.
091 */
092 boolean getIsActive() throws WvcmException;
093
094 /**
095 * Sets the value of this proxy's (@link #IS_ACTIVE) property.
096 * @param isActive true to start the server for this view; false to stop it
097 */
098 void setIsActive(boolean isActive) throws WvcmException;
099
100
101 /** The view to which this tag refers */
102 PropertyName<CcView> VIEW =
103 new PropertyName<CcView>(PROPERTY_NAMESPACE, "view");
104
105 /**
106 * Returns the value of this proxy's {@link #VIEW} property.
107 *
108 * @return the view to which this tag refers, as CcView instance
109 * @throws WvcmException
110 * if this proxy doesn't define a value for this property.
111 */
112 CcView getView() throws WvcmException;
113
114 /** Kind of view to which this tag refers */
115 PropertyName<ViewType> VIEW_TYPE =
116 new PropertyName<ViewType>(PROPERTY_NAMESPACE,
117 "view-tag-view-type");
118
119 /**
120 * Returns the value of this proxy's {@link #VIEW_TYPE} property.
121 *
122 * @return Kind of view this tag refers to.
123 * @throws WvcmException
124 * if this proxy doesn't define a value for this property.
125 */
126 ViewType getViewType () throws WvcmException;
127
128 /** The registry region this tag resides in */
129 PropertyName<CcRegistryRegion> REGISTRY_REGION =
130 new PropertyName<CcRegistryRegion>(PROPERTY_NAMESPACE, "viewtag-registry-region");
131
132 /**
133 * Returns the value of this proxy's {@link #REGISTRY_REGION} property.
134 *
135 * @return The registry region of this view tag.
136 * @throws WvcmException
137 * if this proxy doesn't define a value for this property.
138 */
139 CcRegistryRegion getRegistryRegion() throws WvcmException;
140 }