intra-mart Accel Documents プログラミングガイド 第7版 2018-04-01

タイムスタンプ設定

概要

文書にタイムスタンプを設定する機能について記載します。

サンプルプログラム

文書(kn:document-01)にタイムスタンプを付与するサンプルコードを記載します。

// 対象とする文書のIDを指定します。
ObjectId documentId = ObjectId.fromIdString("kn:document-01");

// タイムスタンプ付与後のファイルを新規バージョンとして登録する際に設定する属性値を指定します。
Map<AttributeId, Object> attributeMap = new HashMap<AttributeId, Object>();

// 新しく追加するバージョンの表示用属性(例: 1.0.1)
List<Integer> newDisplayVersionNo = Arrays.asList(new Integer(1),
        new Integer(0), new Integer(1));

// 表示用のバージョンを指定します。
attributeMap.put(KnSystemSchemas.DISPLAY_VERSION_NO_ATTRIBUTE_ID, newDisplayVersionNo);

session.attachDocumentTimestamp(documentId, attributeMap);

以上のコードで文書にタイムスタンプが付与されます。

コラム

対象文書はPDFファイルである必要があります。
また、保管責任者、保管期限日が設定されていて、かつ、タイムスタンプ対象である必要があります。
保管設定、タイムスタンプ設定については、「保管設定」を参照してください。

コラム

タイムスタンプが付与されたPDFファイルは、対象文書の新規バージョンとして登録されます。

コラム

引数に指定しているattributeMapは、新規バージョンとして追加する際に、同時に更新する文書の属性を指定するものです。 この引数は、空のMAPで指定しても問題ありませんが、該当文書のクラス定義でバージョン設定を利用している場合は、 同時にバージョン表示用の属性(KnSystemSchemas#DISPLAY_VERSION_NO_ATTRIBUTE_ID)を更新する必要があります。

上記の例では、バージョン表示用の属性に固定の整数型リストを設定していますが、 通常は、その時点の最新バージョンから次のバージョン用の整数型リストを生成して設定してください。

文書(kn:document-01)にアーカイブタイムスタンプを付与するサンプルコードを記載します。

// 対象とする文書のIDを指定します。
ObjectId documentId = ObjectId.fromIdString("kn:document-01");

// アーカイブタイムスタンプ付与後のファイルを新規バージョンとして登録する際に設定する属性値を指定します。
Map<AttributeId, Object> attributeMap = new HashMap<AttributeId, Object>();

// 新しく追加するバージョンの表示用属性(例: 1.0.2)
List<Integer> newDisplayVersionNo = Arrays.asList(new Integer(1),
        new Integer(0), new Integer(2));

// 表示用のバージョンを指定します。
attributeMap.put(KnSystemSchemas.DISPLAY_VERSION_NO_ATTRIBUTE_ID, newDisplayVersionNo);

session.attachArchiveTimestamp(documentId, attributeMap);

以上のコードで文書にアーカイブタイムスタンプが付与されます。

コラム

アーカイブタイムスタンプは、延長用のタイムスタンプです。 通常のタイムスタンプと同様に、タイムスタンプ付与後に新規バージョンとして追加されますので、該当文書のクラスでバージョン設定を利用している場合は、 同時にバージョン表示用の属性を更新する必要があります。

文書(kn:document-01)のタイムスタンプを検証するサンプルコードを記載します。

// 対象とする文書のIDを指定します。
ObjectId documentId = ObjectId.fromIdString("kn:document-01");

KnCertValidationStatusType statusType = session.validateTimestamp(documentId);

以上のコードで文書のタイムスタンプを検証できます。 検証結果は、返り値のKnCertValidationStatusTypeにて確認可能です。