IBM® Rational® ClearQuest® ユーザーは添付ファイル フィールドのレコード (つまり、Entity オブジェクト) にファイルを添付できます。障害を示すレコードは複数の添付ファイル フィールドを保持することができ、各フィールドは複数の添付ファイルを保持できます。例えば、1 レコードに 3 つの異なる添付ファイル フィールド (ソース コード ファイル フィールド、技術仕様フィールド、ドキュメンテーション フィールド) を保持できます。
添付ファイル フィールドを管理するために、各 Entity オブジェクトには AttachmentFields オブジェクトがあります。個々の添付ファイルを管理するために、各 AttachmentField には Attachments オブジェクトがあります。
Entity オブジェクトから Attachment オブジェクトにトラバースするには、最初に AttachmentFields オブジェクトを取得する必要があります。トラバースする際には、AttachmentField 名を使用して一般パスを識別できます。実際の添付ファイル コレクションのレベルでは、Description 値と FileName 値を使用して個々の添付ファイルを識別できます。
AttachmentFields オブジェクトは、AttachmentField オブジェクトのコレクションです。ここには、レコードに関連付けられたすべての添付ファイル フィールドが示されます。レコードに関連付けられる AttachmentFields オブジェクトは 1 つだけです。このオブジェクトには、1 つ以上の AttachmentField オブジェクトが含まれます。このメソッドにより、添付ファイルを含むフィールドにアクセスできます。
AttachmentField オブジェクトは、レコード内の単一の添付ファイル フィールドを示します。レコードは複数の AttachmentField オブジェクトを保持することができ、各オブジェクトごとに単一の Attachments オブジェクトがあります。AttachmentField は、ファイルのコレクションを保持することができます (これらのファイルは、それぞれ個々の Attachment オブジェクトに保存されます)。
Attachments オブジェクトは、1 つ以上の Attachment オブジェクトを保存するコンテナ オブジェクトです。Attachments オブジェクトは、常に単一の AttachmentField オブジェクトに関連付けられます。このオブジェクトには、対応する添付ファイル フィールドにあるすべてのコレクションが含まれ、添付ファイルをカウント、取得、追加、削除するメソッドを実行できます。
Attachment オブジェクトには単一の添付ファイルがあります。また、Attachment オブジェクトには、添付ファイルの説明、オリジナル ファイル名、ファイル サイズなど、個々の添付ファイルに関する情報が含まれ、添付ファイルの操作方法も提供されます。
次の Entity オブジェクトのメソッドは、添付ファイルの保存、管理に使用されます。
アクセスするオブジェクトを取得します。各 Entity オブジェクトには、厳密に 1 つの AttachmentFields オブジェクトと、添付ファイル フィールドを管理するメソッドがあります。
このオブジェクトに定義されたフィールド名を取得します。AttachmentFields オブジェクトを使用して添付ファイル コレクションのトラバーサルを行う際、どのパスに従うかを識別するためのフィールド名を認識することが必要な場合があります。(代わりに、インデックスを使用して各 AttachmentField を取得することもできます。)
フィールドのデータ タイプを取得します。戻り値が 7 の場合 (_ATTACHMENT_LIST)、フィールド タイプは AttachmentField です。フィールド名は分かるがそのデータ タイプが分からない場合に、このメソッドは有効です。
このオブジェクトのすべてのフィールドに関する情報を取得します。これが一般的な方法です。それは、その他の種類の値を取得する場合に、FieldInfo.GetValue() と FieldInfo.GetValueAsList() を使用することになるからです。FieldInfo オブジェクトの配列がある場合は、FieldInfo.GetName() で名前を取得し、FieldInfo.GetType() で各データ タイプを確認できます。
詳しくは、Entity オブジェクトの「AttachmentFields」と「添付ファイル情報の取得と設定」を参照してください。