001/* 002* file CcAttribute.java 003* 004* Licensed Materials - Property of IBM 005* Restricted Materials of IBM 006* 007* com.ibm.rational.wvcm.stp.cc.CcAttribute 008* 009* (C) Copyright IBM Corporation 2007, 2011. 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 014package com.ibm.rational.wvcm.stp.cc; 015 016import java.util.Date; 017 018import javax.wvcm.WvcmException; 019 020import com.ibm.rational.wvcm.stp.cc.CcAttributeType.ValueType; 021 022/** 023 * <p>The ClearCase attribute mechanism lets you associate arbitrary 024 * name/value pairs with particular ClearCase versions or elements. 025 * </p> 026 * <p> 027 * This interface provides an aggregate object for handling these name/value 028 * pairs. 029 * </p> 030 */ 031public interface CcAttribute { 032 033 /** Get the attribute's name. */ 034 public String getName() throws WvcmException; 035 036 /** Get the type of the attribute's value data. */ 037 public ValueType getValueType(); 038 039 /** 040 * Get the attribute's value. 041 * This call is valid for all value types where a string representation 042 * of the data is desired. 043 */ 044 public String getValue(); 045 046 /** 047 * If the attribute's value type is INTEGER, retrieve it as such. 048 * @throws Exception if value type is not INTEGER. 049 */ 050 public int getIntegerValue() throws Exception; 051 052 /** 053 * If the attribute's value type is REAL, retrieve it as such. 054 * @throws Exception if value type is not REAL. 055 */ 056 public double getRealValue() throws Exception; 057 058 /** 059 * If the attribute's value type is TIME, retrieve it as such. 060 * @throws Exception if value type is not TIME. 061 */ 062 public Date getTimeValue() throws Exception; 063 064 /** 065 * If the attribute's value type is STRING, retrieve it as such. 066 * @throws Exception if value type is not STRING. 067 */ 068 public String getStringValue() throws Exception; 069 070 /** 071 * If the attribute's value type is OPAQUE, retrieve it as such. 072 * @throws Exception if value type is not OPAQUE. 073 */ 074 public byte [] getOpaqueValue() throws Exception; 075 076}