001 /*
002 * file CcAttributeType.java
003 *
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM
006 *
007 * com.ibm.rational.wvcm.stp.cc.CcAttributeType
008 *
009 * © Copyright IBM Corporation 2004, 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 com.ibm.rational.wvcm.stp.cc.CcTypeBase.Scope;
017 import com.ibm.rational.wvcm.stpex.StpExEnumeration;
018 import com.ibm.rational.wvcm.stpex.StpExEnumerationBase;
019
020 /**
021 * <p>A proxy for a ClearCase attribute type.
022 * </p>
023 * <p>The ClearCase attribute mechanism lets you associate arbitrary
024 * name/value pairs with particular ClearCase versions or elements.
025 * </p>
026 * <p>Attributes are typically used to customize and extend standard
027 * ClearCase functionality. For example, to notify various people in your group
028 * when particular files are modified, you could store those peoples' email
029 * addresses in an "EmailList" attribute associated with each element of interest.
030 * Then associate a checkin "post-op" trigger with those
031 * elements that reads the attribute value and sends the notice.
032 * </p>
033 * <p>You can also use the cleartool "find" command to find elements and
034 * versions based on their attributes.
035 * </p>
036 * <p>For more attribute information, see the ClearCase "Guide to Managing Software Projects"
037 * manual, and the cleartool man pages "mkattype" and "find".
038 * </p>
039 */
040 public interface CcAttributeType extends CcTypeBase
041 {
042 /**
043 * Value type of a ClearCase attribute type.
044 * The value type determines helps constrain the legal values and format of an
045 * attribute instance.
046 */
047 enum ValueType implements StpExEnumeration
048 {
049 /** Value is an integer. */
050 INTEGER,
051
052 /** Value is floating-point. */
053 REAL,
054
055 /** Value is a string. */
056 STRING,
057
058 /** Value represents a time. */
059 TIME,
060
061 /** Value is an opaque arbitrary byte sequences. */
062 OPAQUE;
063 }
064
065 }