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 }