Oracle® Fusion Middleware

Oracle WebCenter Captureのためのスクリプトの開発

11g リリース1 (11.1.1)

E51442-01(原本部品番号:E28275-01)

2013年7月

キャプチャ機能をカスタマイズするためのスクリプトを開発する方法について説明するOracle WebCenter Capture開発者向けドキュメント。

Oracle Fusion Middleware Oracle WebCenter Captureのためのスクリプトの開発, 11g リリース1 (11.1.1)

E51442-01

Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

原本著者: Mike Manier

原本協力者: Oracle WebCenterの開発、製品管理および品質保証チーム

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

1 Oracle WebCenter Captureスクリプトの概要

2 キャプチャのスクリプト処理のサンプル

- 2.1 クライアント・スクリプトのサンプル

- 2.1.1 クライアント・スクリプトのサンプル1

- 2.1.2 クライアント・スクリプトのサンプル2

- 2.2 インポート・プロセッサ・スクリプトのサンプル

- 2.3 認識プロセッサ・スクリプトのサンプル

3 クライアントと他のWebアプリケーションとの統合

- 3.1 クライアント統合の構成

- 3.1.1 クライアント統合Webアドレスの例

4 クライアント・スクリプトの作成

- 4.1 クライアント・イベント

- 4.2 クライアント・イベントのクラス

- 4.3 Captureクライアントのコア・クラス

- 4.4 CaptureクライアントのFieldEditクラス

5 認識プロセッサ・スクリプトの作成

- 5.1 バッチ・ジョブでのイベントの処理順序

- 5.2 スクリプト設計

- 5.2.1 RecognitionJob

- 5.2.2 BarcodeDefinition

- 5.2.3 SeparatorDefinition

- 5.2.4 SeparatorRuleDefinition

- 5.2.5 DocumentDefinition

- 5.2.6 RecognitionJobField

- 5.2.7 RecognitionProcessorContext

- 5.2.8 PostProcessContext

- 5.2.9 ProcessorSeparatorPage

- 5.2.10 ProcessorItem

- 5.2.11 ProcessorDocument

- 5.3 スクリプトのメソッド

- 5.3.1 initialize (RecognitionProcessorContext rpc)

- 5.3.2 processBatch (RecognitionProcessorContext rpc)

- 5.3.3 restoreCaptureBatch (RecognitionProcessorContext rpc)

- 5.3.4 beginPhase (RecognitionProcessorContext rpc)

- 5.3.5 endPhase (RecognitionProcessorContext rpc)

- 5.3.6 extractBatchItem(RecognitionProcessorContext rpc)

- 5.3.7 barcodesFoundOnItem(RecognitionProcessorContext rpc)

- 5.3.8 batchItemAllValidBarcodes (RecognitionProcessorContext rpc)

- 5.3.9 determineSeparatorPage(RecognitionProcessorContext rpc)

- 5.3.10 batchItemValidBarcode (RecognitionProcessorContext rpc)

- 5.3.11 determineDocType(RecognitionProcessorContext rpc)

- 5.3.12 beginDatabaseLookup(RecognitionProcessorContext rpc)

- 5.3.13 determineIndexValues(RecognitionProcessorContext rpc)

- 5.3.14 renameOrigCaptureDocTitle (RecognitionProcessorContext rpc)

- 5.3.15 createCaptureDoc(RecognitionProcessorContext rpc)

- 5.3.16 postProcess(PostProcessContext postContext)

- 5.3.17 endBatchProcess()

6 インポート・プロセッサ・スクリプトの作成

- 6.1 インポート・プロセッサのスクリプト処理

- 6.1.1 インポート・プロセッサのイベント

- 6.1.2 電子メール・ソースのイベント

- 6.1.3 フォルダ・ソースのイベント

- 6.1.4 リスト・ファイル・ソースのイベント

- 6.2 インポート・プロセッサのクラス

- 6.2.1 ImportJob

- 6.2.2 ImportProcessorContextクラス

- 6.2.3 インポート・プロセッサで使用されるキャプチャのコア・クラス

- 6.2.4 電子メール・ソースのクラス

- 6.2.5 フォルダ・ソースのクラス

- 6.2.6 リスト・ファイル・ソースのクラス

A キーコード

はじめに

このガイドでは、Oracle WebCenter Captureコンポーネントをカスタマイズするためのスクリプトの開発について説明します。

対象読者

このガイドは、Oracle WebCenter Capture機能のカスタマイズを担当する開発者を対象にしています。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

Oracleサポート・サービスでは、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info) か、聴覚に障害のあるお客様は (http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連ドキュメント

詳細は、Oracle WebCenter Capture 11g リリース1 (11.1.1)ドキュメント・セットに含まれる次のドキュメントを参照してください。

- Oracle Fusion Middleware Oracle WebCenter Captureの管理

- Oracle Fusion Middleware Oracle WebCenter Captureの使用

- 『Oracle Fusion Middleware Oracle WebCenter Captureの管理』

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 Oracle WebCenter Captureスクリプトの概要

この章では、Oracle WebCenter Captureのためのスクリプト開発の概要を説明します。

スクリプトは、Captureクライアントまたはバッチ・プロセッサ(インポートまたは認識)で使用されるカスタム・コードであり、これを利用すると既存の構成設定ではできない機能のカスタマイズが可能になります。たとえば、名前の最初の英字を大文字に変更するときや、トランザクションで使用されるアカウント番号を独自の計算を使用して検証するときにスクリプトを使用します。

スクリプトを開発してキャプチャのコンポーネントに取り込むための主なステップを次に示します。

1. そのコンポーネント用のJavaScriptを、次に示すコンポーネントの章で説明しているイベント、クラスおよび情報を使用して記述します。

- 第4章「クライアント・スクリプトの作成」

- 第5章「認識プロセッサ・スクリプトの作成」

- 第6章「インポート・プロセッサ・スクリプトの作成」

第2章「キャプチャのスクリプト処理のサンプル」を参考にしてください。

2. WebCenter Captureワークスペース・コンソールで選択したワークスペースの「詳細」タブで、ワークスペース・マネージャがスクリプトを追加し、スクリプトのコンポーネント・タイプを指定してスクリプト・ファイルをロードします。

3. クライアント・プロファイル、またはインポートまたは認識プロセッサ・ジョブの中で、ワークスペース・マネージャが使用するスクリプトを選択します。ワークスペース・マネージャは、1つのクライアント・プロファイルに複数のクライアント・スクリプトを取り込んで、それらを実行する順序を指定できます。

キャプチャのスクリプト処理には、Java Runtime Environmentに含まれているJavaScriptスクリプト・エンジンが使用されます。詳細は、Oracle Javaのドキュメントを参照してください。

『Oracle Fusion Middleware Oracle WebCenter Captureのマネージング』で説明しているように、スクリプトは次に示すCaptureのコンポーネントに取り込むことができます。

- クライアント
クライアント・スクリプトは、特定のクライアント・イベントの動作をカスタマイズできるJavaScriptモジュールです。クライアント・プロファイルでスクリプトを使用するには、ワークスペース・マネージャが拡張プロファイルでスクリプトを選択して順序を指定します。『Oracle Fusion Middleware Oracle WebCenter Captureのマネージング』を参照してください。

- インポート・プロセッサ
インポート・プロセッサ・スクリプトを使用すると、特定のインポート・ジョブ・イベントの動作をカスタマイズできます。

- 認識プロセッサ
認識プロセッサ・スクリプトを使用すると、特定の認識ジョブ・イベントの動作をカスタマイズできます。

2 キャプチャのスクリプト処理のサンプル

この章には、クライアント・プロファイル、インポート・ジョブまたは認識ジョブのために作成されるスクリプト例を示すJavaScriptのサンプルが含まれています。

この章では、次の内容を説明します。

- 第2.1項「クライアント・スクリプトのサンプル」

- 第2.2項「インポート・プロセッサ・スクリプトのサンプル」

- 第2.3項「認識プロセッサ・スクリプトのサンプル」

2.1 クライアント・スクリプトのサンプル

この項では、次のサンプル・スクリプトを示します。

第2.1.1項「クライアント・スクリプトのサンプル1」

第2.1.2項「クライアント・スクリプトのサンプル2」

2.1.1 クライアント・スクリプトのサンプル1

このサンプル・スクリプトは、クライアントの動作を次のようにカスタマイズします。

- エントリにtestという語が含まれている場合、クライアント・ユーザーがメタデータ・フィールドを離れられないようにします。

- どのメタデータ・フィールドにもユーザーがアスタリスクを入力できないようにします。

- イベント情報をJavaコンソールに出力します(ユーザーがイメージ上で選択した部分を右マウス・ドラッグした後の座標など)。

このスクリプトでは、検証やデバッグ用に、スクリプト・イベントごとにJavaコンソールに1行を出力する(printIn)処理も行います。

importClass(java.awt.event.KeyEvent);

function ScriptStart() {
println("ScriptStart");
}

function BatchScanBegin(event) { // BatchScanEvent
println("BatchScanBegin");
}

function BatchScanComplete(event) { // BatchScanEvent
println("BatchScanComplete");
println(event.getBatch().getBatchName() + " finished Scanning.");
}

function BatchSelected(event) { // BatchSelectedEvent
println("BatchSelected: " + event.getBatch().getBatchName());
}

function PreBatchDelete(event) { // BatchDeleteEvent
println("BatchDelete");
}

function CaptureImage(event) { // ImageCaptureEvent
println("CaptureImage");
}

function DocumentCreated(event) { // DocumentCreatedEvent
println("DocumentCreated");
}

function DocumentSelected(event) { // DocumentSelectedEvent
println("DocumentSelected: " + event.getDocument().getTitle());
}

function FieldGotFocus(event) { // FieldEvent
println("FieldGotFocus");
}

function FieldLostFocus(event) { // FieldEvent
var dataField;
println("FieldLostFocus");
dataField = event.getField();
if (dataField.getUncommittedText().equalsIgnoreCase("test")) {
event.setCancel(true);
println("invalid value. script will not allow leaving focus.");
}
}

function FieldProcessKey(event) { // FieldEvent
var keyEvent;
// println("FieldProcessKey");
keyEvent = event.getKeyEvent();
if (keyEvent.getID() == KeyEvent.KEY_TYPED) {
//println(keyEvent.getKeyChar());
if (String.fromCharCode(keyEvent.getKeyChar()) == '*') {
println("Asterisk not allowed in any field.");
keyEvent.consume();
}
}
}

function PostCaptureImage(event) { // ImageCaptureEvent
println("PostCaptureImage");
}

function PreCaptureImage(event) { // ImageCaptureEvent
println("PreCaptureImage");
}

function PreUploadItem(event) { // UploadItemEvent
println("PreUploadItem: " + event.getCaptureItem().getFilename());
}

function PostUploadItem(event) { // UploadItemEvent
println("PostUploadItem: " + event.getCaptureItem().getFilename());
}

function DBSearchComplete(searchEvent) { // DBSearchEvent
println("DBSearchComplete.");
}

function DBSearchResults(searchEvent) { // DBSearchEvent
var results;
var resultRow;
var searchParameters;

println("DBSearchResult");

results = searchEvent.getRowResults();
println("Found " + results.size() + " results.");
}

function DBSearchStart(searchEvent) {  // DBSearchEvent
println("DBSearchStart");
println("Metadata value was " + searchEvent.getMetadataValue());
//searchEvent.setMetadataValue("c");
}

function DocumentRemoved(event) { // DocumentRemovedEvent
println("DocumentRemoved");
}

function ImportFilesSelected(files, cancel) { // ImportFilesSelectedEvent
println("ImportFilesSelected");
}

function PostDownloadItem(event) { // DownloadItemEvent
println("PostDownloadItem: " + event.getCaptureItem().getFilename());
}

function PreDownloadItem(event) { // DownloadItemEvent
println("PreDownloadItem: " + event.getCaptureItem().getFilename());
}

function RegionSelected(event) { // RegionSelectedEvent
var rect;
println("RegionSelected");
rect = event.getSelectionRectangle();
println("Rectangle (X,Y): (" + rect.getX() + "," + rect.getY() + "); (W,H): (" + rect.getWidth() + "," + rect.getHeight() + ")");
}

2.1.2 クライアント・スクリプトのサンプル2

このサンプル・スクリプトは、クライアントの動作を次のようにカスタマイズします。

- BatchScanBegin関数を使用して、インポートできるファイルを拡張子.TIFのもののみに制限します。

- DBSearchResults関数を使用して、データベース参照の結果に変更を加え、最初の結果のみが使用され、結果リストは表示されないようにします。

importClass(java.util.ArrayList);

function BatchScanBegin(event) { // BatchScanEvent
// Check if there are files being imported.
var sourceFilesList = event.getSourceFiles();
if (sourceFilesList != null) {
// Create a list to hold the filtered results.
var filteredList = new ArrayList();

// Loop through each of the files.
var iterator = sourceFilesList.iterator();
while (iterator.hasNext()) {
// If the file name ends with ".TIF", add it to the list.
var file = iterator.next();
var filename = file.getName().toUpperCase();
if (filename.endsWith(".TIF")) {
filteredList.add(file);
}
}

// Replace the original list with the filtered list.
event.setSourceFiles(filteredList);
}
}

function DBSearchResults(searchEvent) { // DBSearchEvent
var results;
var resultRow;
var searchParameters;

// Return only the first search result.
results = searchEvent.getRowResults();
if (results.size() > 0) {
resultRow = results.get(0);
results.clear();
results.add(resultRow);
// Do not display the list of results to the user.
searchEvent.setDisplayHitlist(false);
}
}

2.2 インポート・プロセッサ・スクリプトのサンプル

次に示すサンプル・スクリプトでは、各ドキュメントのタイトルをインポートされるファイルの名前に設定します。ドキュメントが後でコミットされたときに、そのドキュメント・タイトルを出力フィールドにマッピングできるようになります。

importClass(java.io.File);

function preCreateDocument(event) { // ImportProcessorContext
var document;   // DocumentEntity
var sourceFile; // File

sourceFile = new File(event.getImportSourceFile());
document = event.getDocumentEntity();

// Set the document title to be the name of the source file
document.setDocumentTitle(sourceFile.getName());
}

2.3 認識プロセッサ・スクリプトのサンプル

このサンプル・スクリプトは、認識ジョブの動作を次のようにカスタマイズします。

- ドキュメントの編成タイプをバッチごとの固定ページ数に設定します。

- ドキュメント当たりの最大ページ数を2に設定します。

- ジョブがpdf417バー・コードのみを検出するように設定します。

- processorDate、TitleおよびAmountという名前の3つのバー・コードを定義します(検証ルールなし)。

- バー・コードを3つのメタデータ・フィールドにマッピングします。

function batchItemAllValidBarcodes (rpc) {
// Obtain current batch item
var batchItem = rpc.getBatchItem();

// obtain bar code count.
var count = batchItem.getBarcodeCount();

// All barcodes on a batch item.
var allBarcodes;

// bar code of interest.
var barcodeValue;

// after parsed barcode value.
var parsed;

// Obtain bar code value if there is a bar code found.
if (count > 0) {
allBarcodes = batchItem.getBarcodes();
barcodeValue = allBarcodes[0];

// Parse the bar code value by | character.
parsed = barcodeValue.split('\\|');
var len = parsed.length;

// It should get splitted into 10 strings.
if (len == 10) {
// This is the barcode we want, populate valid bar codes.
populateValues(rpc, parsed);
}

}
}

function populateValues(rpc, parsed) {
var valid = rpc.getValidBarcodes();
var i;

for (i=0; i<valid.size(); i++) {
var bar = valid.get(i);

if (bar.getName() == "processDate") {
bar.setValue(parsed[5]);
} else if (bar.getName() == "Title") {
bar.setValue(parsed[6]);
} else if (bar.getName() == "Amount") {
bar.setValue(parsed[4]);
}
}
}

3 クライアントと他のWebアプリケーションとの統合

この章では、クライアントを別のWebアプリケーションから起動するように構成する方法を説明します。

Webアプリケーションは、クライアントをWebアドレス経由で起動します。パラメータ(ワークスペース、キャプチャ・ソース、クライアント・プロファイル、ドキュメント・プロファイル、オプションのメタデータ値など)は、アドレス内で渡されます。

たとえば、「スキャン」ボタンをライン・オブ・ビジネスのWebアプリケーションに追加します。ビジネス・アプリケーションのエントリ・フィールドへの入力が完了したら、ユーザーは「スキャン」ボタンをクリックします。クライアント・ウィンドウがユーザーに対して表示され、キャプチャにより、Webアドレス内で指定されたクライアント・プロファイルの中で指定されるスキャナと設定を使用して、ただちにドキュメントのスキャンが開始されます。スキャンが完了すると、ドキュメントがドキュメント・ペインに表示されます。メタデータのフィールドには自動的に、Webアドレスで渡されたユーザー・エントリが移入されます。ユーザーはドキュメントを確認し、その他のメタデータ・フィールドに入力してから、バッチをリリースするか、その他のバッチをスキャンするか、ブラウザを閉じます。閉じると、ライン・オブ・ビジネスのWebアプリケーションに戻ります。

3.1 クライアント統合の構成

WebアプリケーションとCaptureクライアントとの統合を構成する手順は次のとおりです。

1. Webアプリケーションで、クライアントをアクティブ化する起動ポイント(「スキャン」ボタンなど)を追加します。

2. Webアドレスとそのパラメータを構成します。
パラメータの一覧と説明は表3-1を参照してください。

第3.1.1項の統合構成例を参照してください。

3. 必要に応じて、スキャン開始前にユーザーがキャプチャにサインインする必要がなくなるよう、シングル・サインオン(SSO)を構成します。

表3-1 クライアント統合URLのパラメータ

パラメータ

説明

CaptureWorkspace

どのワークスペースにドキュメントをキャプチャするかを指定します。

ClientProfile

ドキュメントのキャプチャに使用するクライアント・プロファイルを指定します(オプション)。プロファイルを指定した場合は、クライアントのバッチ・ペインに「クライアント・プロファイル」フィールドは表示されません。プロファイルが指定されていない場合は、そのシステム上でそのユーザーが前回使用したクライアント・プロファイルが使用されます。

CaptureDriver

ドキュメントのキャプチャに使用するドライバを指定します。

- インポートの場合は、CAPTURE_IMPORT_DRIVERを指定します。

- TWAINスキャンの場合は、CAPTURE_TWAIN_DRIVERを指定します。

ドライバIDもソース名も指定されていない場合は、前回使用されたドライバとソースが使用されます。

CaptureSource

選択されているCaptureDriverに基づいて、ドキュメントのキャプチャに使用するソースを指定します。

- インポートの場合は、Import Sourceを指定します。

- TWAINスキャンの場合は、スキャナ名を指定します。これは、クライアントの「キャプチャ・ソース」のオプションに指定されているのと同じスキャナ名です。

ドライバIDもソース名も指定されていない場合は、そのシステム上でそのユーザーが前回使用したドライバとソースが使用されます。

SignOutOnRelease

バッチのリリース後にビジネス・ユーザーをキャプチャからサインアウトさせるかどうかを指定します。

- falseまたは0 (デフォルト)を指定した場合、ユーザーは「リリース」アイコンをクリックしてバッチをリリースした後もサインインしたままになります。

- trueまたは1を指定した場合は、バッチのリリース後にユーザーは自動的にサインアウトされ、SignOutActionが実行されます(指定されている場合)。

SignOutAction

ユーザーのサインアウト後に行われるアクションを指定します。

- CloseBrowserを指定した場合、ブラウザが閉じられ、Webアプリケーションに戻ります。
SignOutActionオプションおよびCloseBrowserオプションはInternet Explorerで機能します。Firefoxでは、クライアント統合がJavaScript経由で起動されていれば、これらが機能します。

- URLを指定した場合は、指定したURLにウィンドウがリダイレクトされます。

ShowAllBatches

クライアント・ユーザーに対してバッチの一覧をバッチ・ペインに表示するかどうかを指定します。

- falseまたは0 (デフォルト)を指定した場合、バッチ・リストは最初は空であり、そのセッションでスキャンされたバッチのみが表示されます。

- trueまたは1を指定した場合、バッチ・リストにはそのユーザーが参照を許可されているバッチがすべて表示されます。

DocumentProfile

ユーザーがドキュメントの索引付けに使用するドキュメント・プロファイルを指定します。

- ドキュメント・プロファイルを指定した場合、クライアントのメタデータ・ペインに「ドキュメント・プロファイル」フィールドは表示されません。

- プロファイルが指定されていない場合は、そのシステム上でそのユーザーが前回使用したドキュメント・プロファイルが使用されます。

その他

URLに含まれているその他の文字は、メタデータ名および値と見なされます。

3.1.1 クライアント統合Webアドレスの例

URLの例を示します。(このURLはすべてを1行に収める必要があります。)

http://svr-capture:16400/dc-client/faces/dc-client?CaptureWorkspace=Accounting&ClientProfile=Import%20Invoices&CaptureDriver=CAPTURE_IMPORT_DRIVER&CaptureSource=Import%20Source&SignOutOnRelease=1&SignOutAction=CloseBrowser&Company=MyCompany&Dept=Accounting

このWebアドレスによって、クライアント統合は次のとおりに構成されます。

- CaptureWorkspace=Accounting: ドキュメントのキャプチャ先のワークスペースとしてAccountingを指定します。

- ClientProfile=Import Invoices: 使用するクライアント・プロファイルとしてImport Invoicesを指定します。

- CaptureDriver=CAPTURE_IMPORT_DRIVER: スキャンではなくインポートCAPTURE_IMPORT_DRIVERをキャプチャ・ソースとして指定します。

- CaptureSource=Import Source: キャプチャ・ソースとしてImport Sourceを指定します。

- SignOutOnRelease=1&SignOutAction=CloseBrowser: 1&SignOutAction=CloseBrowserは、バッチのリリース後にユーザーをサインアウトさせてブラウザを閉じることを指定します。

- Company=MyCompany: Companyメタデータ・フィールドの値としてMyCompanyを渡します。

- Dept=Accounting: Deptメタデータ・フィールドの値としてAccountingを渡します。

4 クライアント・スクリプトの作成

この章では、クライアント用のスクリプト作成について説明します。スクリプトは、クライアント・イベントに対するフックとなります。

ユーザーが作成したクライアント・スクリプトが実行されるのは、特定のCaptureクライアント・イベントがトリガーされたときです。フレームワークによって、スクリプト作成のためのファクトリ・インタフェースと、拡張の構成および起動のための拡張プロバイダ・インタフェースが定義されます。拡張プロバイダのこの実装によって、JavaScriptを使用したカスタマイズが可能になります。

この章では、次の項目について説明します。

- 第4.1項「クライアント・イベント」

- 第4.2項「クライアント・イベントのクラス」

- 第4.3項「Captureクライアントのコア・クラス」

- 第4.4項「CaptureクライアントのFieldEditクラス」

4.1 クライアント・イベント

この項では、クライアント・イベントを定義します。

- BatchScanBegin
バッチへのスキャンの開始直前に発生します。

public void BatchScanBegin(BatchScanEvent event);

- BatchScanComplete
バッチへのスキャンの完了時に発生します。

public void BatchScanComplete(BatchScanEvent event);

- BatchSelected
バッチが選択されたときに発生します。

public void BatchSelect(BatchSelectedEvent event);

- CaptureImage
イメージをスキャン・ソースからキャプチャする直前に発生します。

public void CaptureImage(ImageCaptureEvent event);

- DBSearchComplete
データベース検索が完了して、結果を処理する直前に発生します。

public void DBSearchComplete(DBSearchEvent event);

- DBSearchResults
データベース検索結果の処理中に発生します。

public void DBSearchResults(DBSearchEvent event);

- DBSearchStart
データベース検索の直前に発生します。

public void DBSearchStart(DBSearchEvent event);

- DocumentCreated
ドキュメントの作成が完了した後に発生します。

public void DocumentCreated(DocumentCreatedEvent event);

- DocumentRemoved
ドキュメントの削除が完了した後に発生します。

public void DocumentRemoved(DocumentRemovedEvent event);

- DocumentSelected
ドキュメントが選択されたときに発生します。

public void DocumentSelect(DocumentSelectedEvent event);

- FieldGotFocus
メタデータ・フィールドが入力フォーカスを受け取ったときに発生します。

public void FieldGotFocus(FieldEvent event);

- FieldLostFocus
フィールドが入力フォーカスを失ったときに発生します。

public void FieldLostFocus(FieldEvent event);

- FieldProcessKey
フォーカスがメタデータ・フィールドにある状態でキー・イベントが発生したときに発生します。

public void FieldProcessKey(FieldEvent event);

- PreBatchDelete
バッチを削除する直前に発生します。

public void PreBatchDelete(BatchDeleteEvent event);

- PreCaptureImage
イメージがスキャン・ソースからキャプチャされる前に発生します。

public void PreCaptureImage(ImageCaptureEvent event);

- PreDownloadItem
バッチ・アイテムをダウンロードする直前に発生します。

public void PreDownloadItem(DownloadItemEvent event);

- PreUploadItem
バッチ・アイテムをアップロードする直前に発生します。

public void PreUploadItem(UploadItemEvent event);

- PostCaptureImage
イメージがスキャン・ソースからキャプチャされた後に発生します。

public void PostCaptureImage(ImageCaptureEvent event);

- PostDownloadItem
バッチ・アイテムがダウンロードされた後に発生します。

public void PostDownloadItem(DownloadItemEvent event);

- PostUploadItem
バッチ・アイテムがアップロードされた後に発生します。

public void PostUploadItem(UploadItemEvent event);

- RegionSelected
ドキュメント・ページでリージョンが選択されたときに発生します。

public void RegionSelected(RegionSelectedEvent event);

- ScriptStart
スクリプト処理が最初に初期化されたときに発生します。

public void ScriptStart();

4.2 クライアント・イベントのクラス

この項では、クライアント・イベントのクラスを定義します。

表4-1 クライアント・イベントのクラス

クラス

説明

oracle.oddc.clientextension.BatchDeleteEvent

List<CaptureBatch> batches: 削除されるバッチのリスト。

boolean canceled: これがTrueに設定されている場合は、削除操作が取り消されます。

oracle.oddc.clientextension.BatchScanEvent

CaptureBatch batch: スキャン/インポート時の新規アイテム追加先となるバッチ。

boolean canceled: これがTrueに設定されている場合は、スキャン/インポートが取り消されます。

List<File> sourceFiles: インポート・ソースを使用するときに、インポートされるファイルのリストがここに格納されます。

CaptureOperation operation: このイベントをトリガーした操作を示します。

oracle.oddc.clientextension.BatchSelectedEvent

CaptureBatch batch: バッチ・ペインで選択されたバッチ。

oracle.oddc.clientextension.DBSearchEvent

boolean displayHitlist: Trueに設定されている場合は、データベース参照結果が表示されます。

boolean exactMatch: Trueに設定されている場合は、検索値が完全に一致している必要があります。

String metadataID: 検索されるメタデータ・フィールドのID。

String metadataValue: 検索されるメタデータ・フィールドの値。

List<DbSearchResultRow> rowResults: 検索で返された行結果のリスト。

boolean canceled: Trueに設定されている場合は、検索が取り消されます。

oracle.oddc.clientextension.DocumentRemovedEvent

CaptureDocument document: バッチから削除されるドキュメント。

oracle.oddc.clientextension.DocumentCreatedEvent

CaptureDocument document: 作成されたドキュメント。

oracle.oddc.clientextension.DocumentSelectedEvent

CaptureDocument document: バッチ・ペインで選択されたドキュメント。

oracle.oddc.clientextension.DownloadItemEvent

CaptureItem captureItem: バッチが開かれた後は、サーバーから現在ダウンロードされているアイテムを示します。

oracle.fieldedit.FieldEvent

トラバース定数

- static final int TRAVERSAL_UNDETERMINED = 0

- static final int TRAVERSAL_FORWARD = 1

- static final int TRAVERSAL_BACKWARD = 2

- static final int TRAVERSAL_FORWARD_COMPONENT = 3

- static final int TRAVERSAL_BACKWARD_COMPONENT = 4

Boolean cancel: Trueに設定されている場合は、イベントが取り消されます。

DataField field: このイベントの作用対象のフィールド。

KeyEvent keyEvent: このイベントの生成に使用されたキーボード・イベント。

int traversalDirection: フィールド・フォーカスが移動する方向を示します(「トラバース定数」を参照)。

ice.core.ImageCaptureEvent

boolean cancel: これがTrueに設定されている場合は、キャプチャ操作が取り消されます。

Integer imageCount: キャプチャ済のイメージの数を示します。

String imageFileName: ローカルで保存されたイメージのファイル名を示します。

Integer xdpi: イメージの場合に、水平方向のインチ当たりドット数を示します。

Integer ydpi: イメージの場合に、垂直方向のインチ当たりドット数を示します。

Integer brightness: イメージのキャプチャに使用される明度値。

Integer contrast: イメージのキャプチャに使用されるコントラスト値。

boolean logicalBreak: Trueに設定されている場合は、ドキュメントの開始を示します。

List<File> sourceFiles: インポート・ソースを使用するときに、インポートされるファイルのリストが格納されます。

String sourceFileName: インポート・ソースを使用するときに、インポートされるソース・ファイルの名前が格納されます。

BufferedImage image: イメージ・ファイルの場合に、BufferedImageオブジェクトが格納されます。

ImageCaptureEngine source: このイベントを作成したImageCaptureエンジン。

ImageCaptureEngine.ImageFormat imageFormat: イメージを保存する形式を示します。現在の値は、tiffG4、tiffJpegGray、tiffJpegColor、jpegGrayおよびjpegColorです。

oracle.oddc.clientextension.RegionSelectedEvent

MouseEvent mouseEvent: イメージ内のリージョンの選択に使用されたMouseEvent。

Rectangle selectionRectangle: イメージ内で選択された四角形。

BufferedImage image: イメージの選択された部分が格納されているBufferedImage。

oracle.oddc.clientextension.UploadItemEvent

CaptureItem captureItem: バッチがリリースされた後、サーバーに現在アップロードされているアイテムを示します。

4.3 Captureクライアントのコア・クラス

この項では、クライアントのコア・クラスを定義します。

表4-2 クライアントのコア・クラス

クラス

説明

oracle.oddc.client.data.CaptureBatch

String batchId: バッチの内部ID。

String batchName: バッチの名前。

String batchPath: このバッチの情報が格納されている場所のローカル・パス。

String createdBy: バッチを作成したユーザー。

Date createdDate: バッチが作成された日。

Int currentPriority: バッチに割り当てられた優先度。

CaptureBatchStatus currentStatus: バッチに割り当てられたステータス。

CaptureDocuments documents: バッチに含まれているドキュメント。

CaptureItems items: バッチに関連付けられたアイテム。

Date lastModifiedDate: バッチの最終更新日。

String note: バッチに割り当てられたノート。

CaptureWorkspace workspace: バッチの作成に使用されたワークスペース。

メソッド: void persist() throws BatchLockException, CaptureException: バッチ・レコードをサーバーに保存します。

oracle.oddc.client.data.CaptureBatchStatus

バッチ・ステータスを定義します。

String value: ステータスの説明。

String id: ステータスの内部ID。

oracle.oddc.client.data.CaptureDataType

メタデータ・フィールド定義のデータ型を定義する列挙。

値の例: NUMERIC、ALPHA、ALPHANUMERIC、DATE、FLOAT

oracle.oddc.client.data.CaptureDocument

このクラスには、ドキュメントのすべてのプロパティが格納されます。

DocumentType documentType: ドキュメントに割り当てられたドキュメント・プロファイル。

CaptureFields fields: ドキュメントに割り当てられたメタデータ。

String id: ドキュメントの内部ID。

CaptureDocumentPages pages: ドキュメントに含まれているページ。

CaptureBatch parentBatch: このドキュメントが含まれているバッチ。

String title: ドキュメントのタイトル。

メソッド: void persist() throws BatchLockException, CaptureException: ドキュメント、関連ドキュメント・ページおよびメタデータをサーバーに保存します。

oracle.oddc.client.data.CaptureDocumentPage

ドキュメント・ページのプロパティが格納されるクラス。

String imageFilenameKey: このページのローカル・ファイル名。

String pageID: ページの内部ID。

int pageNumber: ドキュメント内でのページ番号。

CaptureDocument parentDocument: このページが含まれているドキュメント。

oracle.oddc.client.data.CaptureDocumentPages

このクラスはドキュメント・ページのコレクションであり、タイプはVector<CaptureDocumentPage>です。このクラスのインスタンスからドキュメント・ページを取り出すには、Vectorのメソッドを使用します。

oracle.oddc.client.data.CaptureDocuments

このクラスはドキュメントのコレクションであり、タイプはVector<CaptureDocument>です。このクラスのインスタンスからドキュメントを取り出すには、Vectorのメソッドを使用します。

oracle.oddc.client.CaptureErrorManager

このクラスは、どのメッセージをログに記録するかを管理します。

Level logLevel: メッセージのログ記録に使用される最低レベル。

メソッド

- void logMessage(Level level, String message): 指定のログ・レベルのメッセージをログに記録します。

- void logMessage(Level level, String message, Throwable errorException): 指定のログ・レベルのメッセージおよびエラーをログに記録します。

oracle.oddc.client.data.CaptureField

ドキュメント・メタデータ・フィールドのプロパティが格納されます。

String displayValue: このフィールドに対して表示される値。

String fieldname: フィールドの名前。

int length: フィールドの最大長。

boolean required: Trueの場合は、このフィールドが値を持つ必要があります。

String value: このフィールドの値。

oracle.oddc.client.data.CaptureFields

このクラスは、メタデータ・フィールド定義のマップです。タイプはLinkedHashMap<String, CaptureField>で、マップ・キーはフィールド名です。このクラスのインスタンスからフィールドを取り出すには、LinkedHashMapのメソッドを使用します。

oracle.oddc.client.data.CaptureItem

ドキュメント・ページに関連付けられているアイテム(単一のイメージまたはイメージ以外のファイル)のプロパティが格納されます。

String filename: このアイテムのファイルの名前。

CaptureBatch parentBatch: このアイテムが含まれているバッチ。

String sourceFilename: このアイテムがインポートされたものである場合に、インポート元のファイルの名前が格納されます。

oracle.oddc.client.data.CaptureItems

このクラスは、キャプチャのアイテムのマップです。タイプはTreeMap<String, CaptureItem>で、マップ・キーはアイテムのファイル名です。このクラスのインスタンスからアイテムを取り出すには、TreeMapのメソッドを使用します。

oracle.oddc.client.CaptureStateManager

このクラスには、クライアントの現在の状態に関連するプロパティが格納されます。このクラスのインスタンスは、キャプチャ・プロパティを介してすべてのスクリプト・イベントで使用できます。

CaptureBatch activeBatch: アクティブなバッチ。

CaptureDocument activeDocument: アクティブなドキュメント。

DocumentType activeDocumentType: アクティブなドキュメント・プロファイル。

CaptureDocumentPage activePage: アクティブなドキュメント・ページ。

ClientProfile activeProfile: アクティブなクライアント・プロファイル。

String applicationUserPath: クライアントがそのアプリケーション・データに使用するパス。

String batchesPath: クライアントがバッチ・データのキャッシュに使用するパス。

String captureSystemId: クライアントの接続先であるキャプチャ・システムのID。

String computerName: クライアントが実行されているコンピュータの名前。

String currentUser: 現在クライアントにログインしているユーザー。

CaptureErrorManager errorManager: 情報のログ記録に使用されるエラー・マネージャ・オブジェクト。

oracle.oddc.client.data.CaptureWorkspace

1つのワークスペースのすべてのプロパティと操作が格納されます。

String id: ワークスペースに関連付けられている内部ID。

FieldDefinitions fieldDefinitions: このワークスペースに対して定義されているメタデータ。

String name: ワークスペースの名前。

List<CaptureBatchStatus> statuses: このワークスペースで使用可能なバッチ・ステータスのリスト。

メソッド: public DBLookupProfile getDBLookupProfile(String profileId) throws CaptureException: 指定されたデータベース参照プロファイルIDのデータベース参照プロファイルを取得します。

oracle.oddc.client.data.ClientProfile

Captureワークスペース・コンソールで定義された、クライアント・プロファイルのプロパティが格納されます。

boolean alwaysDisplayHitList: Trueの場合は、データベース参照の実行後に、返された結果の数にかかわらず結果が表示されます。

boolean applyBrightness: Trueの場合は、選択されたキャプチャ・ソースに明度とコントラストの設定が適用されます。

int batchFilterDaysOldFrom: バッチの経過日数の最小値を指定するバッチ・フィルタ設定。

int batchFilterDaysOldTo: バッチの経過日数の最大値を指定するバッチ・フィルタ設定。

String batchFilterPrimarySortField: バッチ・ツリーのプライマリ・ソートに使用されるバッチ・プロパティ。

SortOrder batchFilterPrimarySortOrder: バッチ・ツリーのプライマリ・ソート順。

String batchFilterSecondarySortField: バッチ・ツリーのセカンダリ・ソートに使用されるバッチ・プロパティ。

SortOrder batchFilterSecondarySortOrder: バッチ・ツリーのセカンダリ・ソート順。

Integer batchFilterState: バッチ・フィルタに含めるバッチの状態。

String batchPrefix: このプロファイルを使用して作成されるバッチに使用されるバッチ接頭辞。

String batchProcessorID: 後処理時に使用されるバッチ・プロセッサのID。

String batchProcessorJobID: 後処理時に使用されるバッチ・プロセッサのジョブのID。

BatchVisibility batchVisibility: バッチがユーザーに対していつバッチ・ツリー内に表示されるかを指定するバッチ・フィルタ設定。

long blankByteThreshold: イメージのファイル・サイズのバイト数がblankByteThreshold未満の場合は、そのページは空白ページと見なされます。

int brightness: 選択されたキャプチャ・ソースに適用される明度。

CaptureType captureType: プロファイルがキャプチャのみか、キャプチャと索引か、索引のみかを指定します。

int contrast: 選択されたキャプチャ・ソースに適用されるコントラスト。

int dbLookupMaxRecords: 1回のデータベース参照で返されるレコードの最大数。

String dbLookupProfileId: このプロファイルで使用されるデータベース参照プロファイルのID。

ColorType defaultColor: キャプチャ時に使用されるデフォルトの色タイプ。

int defaultDpi: キャプチャ時に使用されるデフォルトのDPI。

int defaultPriority: このプロファイルから作成されたバッチにはこの優先度が割り当てられます。

String defaultStatusId: このプロファイルから作成されたバッチにはこのステータスが割り当てられます。

String description: プロファイルの説明。

oracle.oddc.client.data.ClientProfile

(続き)

DocumentCreationType documentCreationType: キャプチャ時に作成されるドキュメント当たりのページ数を指定します。

DocumentTypes documentTypes:このプロファイルによってバッチに割り当てることができるドキュメント・プロファイルが格納されているオブジェクト。

String id: このプロファイルに関連付けられているID。

int maxPages: イメージ以外のファイルのプレビュー・ページ制限。

String name: プロファイルの名前。

NonImageAction nonImageAction: イメージ以外のファイルに対して実行されるアクション。

String picklistRelationshipProfile: このプロファイルによって使用される依存選択リスト。

List<String> prefixes: バッチ・フィルタで使用されるバッチ接頭辞。

boolean preventDefaultColorOverride: Trueの場合、色のオーバーライドはできません。

boolean preventDefaultDpiOverride: Trueの場合、dpiのオーバーライドはできません。

List<Integer> priorities: バッチ・フィルタで使用されるバッチ優先度。

int sepByteThreshold: イメージのファイル・サイズのバイト数がsepByteThreshold未満の場合は、そのページはセパレータ・シートと見なされます。

List<String> statuses: バッチ・フィルタで使用されるバッチ・ステータス。

List<String> supportedDocumentTypes: このプロファイルがバッチに割り当てることができるドキュメント・プロファイルを表す、ドキュメント・プロファイルIDのリスト。

String workspaceId: このプロファイルが関連付けられるワークスペースのID。

String workspaceName: このプロファイルが関連付けられるワークスペースの名前。

列挙値

- AutoPopulateType: NONE、SCANDATE、INDEXDATE、DEFAULTVALUE、BATCHNAME、USERID、COMPUTERNAME、CLIENTPROFILENAME、BATCHSTATUS、BATCHPRIORITY

- BatchVisibility: USER_AND_COMPUTER、USER、ALL

- DocumentCreationType: ONE_PAGE、TWO_PAGES、VARIABLE_PAGES、PROMPT_USER

- CaptureType: CAPTURE_ONLY、CAPTURE_AND_INDEX、INDEX_ONLY

- NonImageAction: DISALLOW、ALLOW、CONVERT

- SortOrder: ASCENDING、DESCENDING

- ColorType: NotSpecified、BlackAndWhite、Gray、Color

oracle.oddc.client.data.DBLookupProfile

このクラスは、データベース参照用のプロファイルを表します。

ソート定数

- public static final Integer SORT_ASC = 0;

- public static final Integer SORT_DESC = 1;

メソッド

- public DBLookupResult execDBLookup(String searchID, String fieldID, String value, boolean exactMatch) throws CaptureException: データベース参照をソートなしで実行します。パラメータの説明は、他のexecDBLookupメソッドを参照してください。

- public DBLookupResult execDBLookup(String searchID, String fieldID, String value, Boolean exactMatch, String primarySortField, Integer primarySortOrder, String secondarySortField, Integer secondarySortOrder) throws CaptureException: データベース参照を実行します。

- searchID: データベース参照プロファイルに対して定義されているデータベース検索のID。

- fieldID: 検索されるメタデータ・フィールドのID。

- value: 検索される値。

- exactMatch: Trueの場合は、値が完全に一致する必要があります。

- primarySortField: プライマリ・ソートに使用されるフィールドID。

- primarySortOrder: プライマリ・ソートのソート順。

- secondarySortField: セカンダリ・ソートに使用されるフィールドID。

- secondarySortOrder: セカンダリ・ソートのソート順。

oracle.oddc.client.data.DBLookupResult

このクラスは、データベース参照の結果を表します。

List<DbSearchFieldInfo> searchFieldInfoList: データベース参照で返された結果の説明である、検索フィールド情報のリスト。

List<DbSearchResultRow> searchResultRows: データベース参照で返された検索結果の行のリスト。

oracle.oddc.session.DbSearchResultRow

このクラスは、データベース参照から返された結果の行の1つを表します。

List<String> results: 1つの検索結果に関連付けられている文字列値のリスト。このリスト内の値の順序は、戻りフィールドが定義されている順序と同じです。

oracle.oddc.session.DbSearchFieldInfo

このクラスは、データベース参照の結果の説明であるフィールド情報を表します。

String captureIndexDefID: メタデータ・フィールドID。

String dbColumnName: データベース列の名前。

Integer dbColumnType: データベース列のタイプ。

Integer captureFieldType: メタデータ・フィールドのデータ型。

oracle.oddc.client.data.DocumentType

このクラスは、ドキュメント・プロファイルを表します。ドキュメント・プロファイルでは、このタイプから作成されたドキュメントでどのメタデータ・フィールドを使用できるかを示します。

FieldDefinitions fieldDefinitions: ドキュメント・プロファイルに適用可能なメタデータ。

String id: ドキュメント・プロファイルに関連付けられている内部ID。

String name: ドキュメント・プロファイルの名前。

String description: ドキュメント・プロファイルの説明。

oracle.oddc.client.data.DocumentTypes

このクラスは、ドキュメント・プロファイルのマップです。タイプはTreeMap<String, DocumentType>で、マップ・キーはドキュメント・プロファイルIDです。このクラスのインスタンスからドキュメント・プロファイルを取り出すには、TreeMapのメソッドを使用します。

oracle.oddc.client.data.FieldDefinition

このクラスは、メタデータ・フィールドの定義を表します。

ClientProfile.AutoPopulateType autoPopulateType: フィールドに値を自動的に移入する方法を指定します。

CaptureDataType dataType: このフィールドのデータ型。

String defaultValue: このフィールドのデフォルト値。

boolean displayable: このフィールドをクライアントで表示するかどうかを示します。

int length: このフィールドの最大長。

String id: このフィールドの内部ID。

String name: このフィールドの名前。

String inputMask: 入力マスク。

boolean locked: フィールドがロックされている場合はTrue。

float maxValue: このフィールドの最大値。

float minValue: このフィールドの最小値。

boolean pickListCaseInsensitive: Trueの場合は、選択リストで大文字と小文字が区別されません。

String pickListID: このフィールドに関連付けられている選択リストのID。

String pickListParentFieldID: 選択リスト親フィールドのID。

String pickListSourceID: このフィールドの依存選択リストのソースID。

String profileDisplayFormat: フィールド表示時に使用される書式。

boolean required: このフィールドが値を持つことが必須かどうかを示します。

String validationExpression: このフィールドに入力された値の検証に使用される正規表現。

oracle.oddc.client.data.FieldDefinitions

このクラスは、メタデータ・フィールド定義のマップです。タイプはLinkedHashMap<String, FieldDefinition>で、マップ・キーはメタデータ・フィールド定義IDです。このクラスのインスタンスからメタデータ・フィールド定義を取り出すには、LinkedHashMapのメソッドを使用します。

oracle.oddc.client.batchbuilder.CaptureOperation

これは、バッチで実行されるキャプチャ操作を定義する列挙です。

値の例: Create、Append、InsertおよびReplace

4.4 CaptureクライアントのFieldEditクラス

FieldEditクラスは、メタデータ値を入力するためのユーザー・インタフェース・コンポーネントです。

表4-3 クライアントのFieldEditクラス

クラス

説明

oracle.fieldedit.field.DataField

このクラスは、FieldEditコンポーネントの単一フィールドのデータを表し、様々なフィールド・タイプのベース・クラスとなります。

String caption: フィールド・キャプション。

String fieldname: フィールド名。

Format displayFormat: フィールドの表示形式。

String inputMask: 入力マスク。

boolean lock: Trueの場合はフィールドがロックされます。

long maxLength: フィールドの最大長。

boolean required: Trueの場合、このフィールドは入力する必要があります。

String uncommittedText: フィールドの現在のテキスト。

oracle.fieldedit.field.DateField

このクラスはDataFieldを拡張したものであり、日付フィールドを表します。

Date value: Dateオブジェクトで表した値。

oracle.fieldedit.field.FloatField

このクラスはDataFieldを拡張したものであり、浮動小数フィールドを表します。

Float value: Floatオブジェクトで表した値。

oracle.fieldedit.field.IntegerField

このクラスはDataFieldを拡張したものであり、整数フィールドを表します。

Integer value: Integerオブジェクトで表した値。

oracle.fieldedit.field.PicklistField

このクラスはDataFieldを拡張したものであり、選択リスト・フィールドを表します。

boolean caseSensitive: trueの場合は、このリストの内容の大文字と小文字が区別されます。

List<PicklistEntry> pickListEntries: 選択リストのエントリのリスト。

PicklistEntry value: 選択リストの現在の値。

oracle.fieldedit.field.TextField

このクラスはDataFieldを拡張したものであり、英数字フィールドを表します。

String value: フィールドの英数字値。

oracle.fieldedit.field.PicklistEntry

public String getCommitValue(): 選択リスト・エントリのコミット値を返します。

public String getDisplayValue(): 選択リスト・エントリの表示値を返します。

5 認識プロセッサ・スクリプトの作成

この章では、認識プロセッサ・スクリプトの作成について説明します。

認識プロセッサ・スクリプトの一般的な用途を次に示します。

- 単一のバー・コード値を複数のフィールド値に分割する。

- バー・コード値を適切なフィールドに割り当てる。

- バー・コード値を使用して企業データベースを更新する。

- どのページがドキュメントの区切りかを、カスタム・ロジックを使用して判断する。

- サーバー・アクティビティに対するカスタムの監査を実行する。

- カスタムの電子メール・アラートを送信する。

- 無効なデータがあったときにバッチのコミットを取り消す。

認識プロセッサのイベントの一覧は、第5.2項「スクリプト設計」を参照してください。

この章の内容は、次のとおりです。

- 第5.1項「バッチ・ジョブでのイベントの処理順序」

- 第5.2項「スクリプト設計」

- 第5.3項「スクリプトのメソッド」

5.1 バッチ・ジョブでのイベントの処理順序

認識プロセッサのバッチ・ジョブでは、イベントは次の順序で実行されます。

1. initialize

2. processBatch

3. restoreCaptureBatch (以前ドキュメント作成中にバッチが失敗した場合のみ)

4. beginPhase

5. extractBatchItem

6. barcodesFoundonItem

7. endPhase

8. beginPhase

9. batchItemAllValidBarcodes

10. determineSeparatorPage

11. batchItemValidBarcode (これはすべてのページ編成タイプのバー・コードに適用されます。これが発生するのは、バー・コード認識の最適化がオンで、かつバッチ・アイテム上にバー・コードが見つからないときのみです。)

12. endPhase

13. beginPhase

14. determineDocType

15. endPhase

16. beginPhase

17. beginDatabaseLookup

18. determineIndexValues

19. endPhase

20. beginPhase

21. renameOrigCaptureDocTitle

22. createCaptureDoc

23. endPhase

24. beginPhase

25. postProcess

26. endPhase

27. endBatchProcess

5.2 スクリプト設計

この項では、スクリプト設計で使用できるクラスについて説明します。項目は次のとおりです。

- RecognitionJob

- BarcodeDefinition

- SeparatorDefinition

- SeparatorRuleDefinition

- DocumentDefinition

- RecognitionJobField

- RecognitionProcessorContext

- PostProcessContext

- ProcessorSeparatorPage

- ProcessorItem

- ProcessorDocument

5.2.1 RecognitionJob

バー・コードのコードの定数は次のとおりです。

定数

説明

BARCODE_CODEABAR=0

Codeabar

BARCODE_CODE128=1

Code 128

BARCODE_CODE39=2

Code 39

BARCODE_CODE93=3

Code 93

BARCODE_EAN13=4

EAN-13

BARCODE_EAN8=5

EAN-8

BARCODE_INTERLEAVED25=6

Interleaved2/5

BARCODE_UCCEAN128=7

UCC/EAN 128

BARCODE_UPCA=8

UPC-A

BARCODE_UPCE=9

UPC-E

BARCODE_AIRLINE25=10

Airline(IATA) 2/5

BARCODE_CODE32=11

Code32

BARCODE_DATALOGIC25=12

Datalogic 2/5

BARCODE_INDUSTRIAL25=13

Industrial 2/5

BARCODE_ISBNADDON2=14

ISBN Addon 2

BARCODE_ISBNADDON5=15

ISBN Addon 5

BARCODE_MATRIX25=16

Matrix 2/5

BARCODE_POSTNETPLANET=17

Postnet/Planet

BARCODE_PATCHCODE=18

パッチ・コード

BARCODE_DATAMATRIX=19

データ・マトリックス

BARCODE_PDF417=20

PDF417

BARCODE_QRCODE=21

QRコード

ドキュメント編成タイプに対応する定数は次のとおりです。

定数

説明

ORGANIZE_SINGLEPAGE=0

固定のドキュメント当たりページ数に基づいてドキュメントを編成します。

ORGANIZE_SINGLEDOC=1

ドキュメント編成を実行しません。

ORGANIZE_MULTIPAGE_BARCODE=2

各ページ上の同じバー・コード値に基づいてドキュメントを編成します。

ORGANIZE_MULTIPAGE_SEP=3

セパレータ・ページに基づいてドキュメントを編成します。

ORGANIZE_MULTIPAGE_OTHER=4

階層セパレータ・ページに基づいてドキュメントを編成します。

次に示すのは、データベース参照で使用される値です。

値

説明

DBLOOKUP_NONE=0

データベース参照は構成されていません。

DBLOOKUP_BARCODE=1

バー・コード値を使用してデータベース参照を実行します。

DBLOOKUP_INDEXFIELD=2

索引フィールド値を使用してデータベース参照を実行します。

次に示すのは、データベース参照で複数のレコードが見つかったときに実行されるアクションです。

アクション

説明

DBMULTIPLERECORD_USEFIRST=0

データベース参照で見つかった最初のレコードを使用します。

DBMULTIPLERECORD_DONOTLINK=1

データベース参照の結果を移入しません。

次に示すのは、データベース参照で一致が見つからなかったときに実行されるアクションです。

アクション

説明

DBNOMATCH_ALLOWCOMMIT=0

データベース・レコードが見つからないときでもバッチのコミットを許可します。

DBNOMATCH_NOCOMMIT=1

一致が見つからないときはバッチのコミットを許可しません。

次に示すのは演算子です。

演算子

説明

OPERATOR_OR = 0

表紙定義ルールで使用されるOR演算子。

OPERATOR_AND = 1

表紙定義ルールで使用されるAND演算子。

次に示す値は、ドキュメント・タイプを動的に特定する方法を表します。

値

説明

DOCTYPE_NONE = 0

ドキュメント・タイプは動的には特定されません。

DOCTYPE_BARCODE = 1

ドキュメント・タイプはバー・コード値に基づいて動的に特定されます。

DOCTYPE_SEPARATOR = 2

ドキュメント・タイプはセパレータ・ページに基づいて動的に特定されます。

次に示すのは、1つのバー・コード定義に対して複数のバー・コード値が見つかったときに実行されるアクションです。

アクション

説明

MULTIBARCODE_USEFIRST=0

最初に見つかったバー・コード値を使用します。

MULTIBARCODE_USELAST=1

最後に見つかったバー・コード値を使用します。

MULTIBARCODE_CLEAR=2

バー・コード値を使用しません。

次のプロパティがこのクラスに適用されます。

プロパティ

説明

String workspaceName

このジョブが関連付けられているワークスペースの名前。

String workspaceID

このジョブが関連付けられているワークスペースのID。

String jobID

ジョブID。

Date lastModifiedDateTime

ジョブが最後に変更された日時。

String lastModifiedUserID

ジョブを最後に変更したユーザーのID。

String name

ジョブ名。

String description

ジョブの説明。

String scriptID

このジョブが関連付けられているスクリプトのID。

List<BarcodeDefinition> barcodes

バー・コード定義のリスト。

Boolean autoDetectBarcodes

これによって、バー・コード自動検出の有効化がオンかどうかが決まります。

Boolean validateCheckSum

これによって、オプションのチェックサムの検証がオンかどうかが決まります。

List<Integer> symbologies

認識用のバー・コードのコードのリスト。有効な値は、この項で前述したバー・コードのコードの定数で定義されている0 - 21です。

Integer batchOrganization

ドキュメント編成タイプ。有効な値は、この項で前述したドキュメント編成タイプの定数で定義されている0 - 4です。

Integer documentPageCount

ドキュメント編成タイプが"ドキュメントごとの固定ページ数"の場合、このプロパティはドキュメント当たりの最大ページ数を表します。

Integer pagesPerDoc2ReadBarcodes

ドキュメント編成タイプが"なし: ドキュメント編成を実行しない"の場合、このプロパティはドキュメント当たり何ページのバー・コードを読み取るかを表します。

Integer maxPageCountPerDoc

ドキュメント編成タイプが"各ページに同じバー・コード値"または"セパレータ・ページ"の場合、このプロパティはドキュメント当たりの最大ページ数を表します。

BarcodeDefinition multiPageDocBarcode

ドキュメント編成タイプが"各ページに同じバー・コード値"の場合、このプロパティはドキュメント区切りを特定するバー・コードを表します。

Boolean optimizeBarcodeDetection

ドキュメント編成タイプが"各ページに同じバー・コード値"の場合、このプロパティによって、バー・コード検出を最適化するかどうかが決まります。

List<SeparatorDefinition> coverPages

ドキュメント編成タイプが"セパレータ・ページ"、"階層セパレータ・ページ"、"なし: ドキュメント編成を実行しない"の場合、このプロパティがセパレータ・ページを定義するデータを保持します。階層セパレータ・ページが使用されるときは、リストに複数のセパレータ・ページ定義が含まれることもありますが、それ以外の2つのシナリオでは、このリストに含まれるセパレータ・ページ定義は1つのみです。

Integer multiBarcodeValuesOption

1つのドキュメント内でバー・コードの値が複数見つかった場合に実行されるアクション。有効な値は、定数として定義されている0-2です。

Integer dynamicDocType

動的ドキュメント・プロファイルの特定方法のオプション。有効な値は、定数として定義されている0-2です。

String defaultDocTypeID

デフォルトのドキュメント・プロファイルのID。

BarcodeDefinition docTypeBarCode

ドキュメント・プロファイルがバー・コードを使用して動的に特定されるとき、このプロパティは、選択されたバー・コードを表します。

List<DocumentDefinition> docTypeMappings

ドキュメント・プロファイルがバー・コードを使用して動的に特定されるとき、このマッピングは、ドキュメント・プロファイルとバー・コード値のマッピングを表します。

List<RecognitionJobField> jobFields

フィールド・マッピング情報。

Integer dblookupUsing

データベース参照で使用される値のタイプ。有効な値は、定数として定義されている0-2です。

BarcodeDefinition dblookupBarcodeField

これは、データベース参照のために選択されるバー・コード定義です。

String dblookupIndexDefID

これは、データベース参照のために選択されるメタデータ・フィールドIDです。

String dblookupProfile

データベース参照プロファイルID。

String dblookupSearchField

データベース参照検索フィールドID。

Integer dblookupMultipleRecordAction

データベース参照時に複数のレコードが見つかったときに実行されるアクション。有効な値は、定数として定義されている0-1です。

Integer dblookupNoMatchAction

データベース参照時にレコードが見つからなかったときに実行されるアクション。有効な値は、定数として定義されている0-1です。

String renamePrefix

後処理の設定の一部です。システム・エラーがないとき、これが名前を変更するためのバッチ接頭辞となります(必要な場合)。

String renameEmail

後処理の設定の一部です。システム・エラーがないとき、これが名前の変更のメール通知を送信するための電子メール・アドレスとなります(必要な場合)。

String renameStatus

後処理の設定の一部です。システム・エラーがないとき、これが変更されるバッチ・ステータスとなります(必要な場合)。

Integer renamePriority

後処理の設定の一部です。システム・エラーがないとき、これが変更されるバッチ優先度となります(必要な場合)。

String processorID

後処理の設定の一部です。システム・エラーがないとき、これがバッチがリリースされるバッチ・プロセッサIDとなります。

String processorJobID

後処理の設定の一部です。システム・エラーがないとき、これが、バッチがリリースされるバッチ・プロセッサ・ジョブIDとなります。

String failureRenamePrefix

後処理の設定の一部です。システム・エラーがあるとき、これが名前を変更するためのバッチ接頭辞となります(必要な場合)。

String failureRenameEmail

後処理の設定の一部です。システム・エラーがあるとき、これが通知を送信する電子メール・アドレスとなります(必要な場合)。

String failureRenameStatus

後処理の設定の一部です。システム・エラーがあるとき、これが変更されるバッチ・ステータスとなります(必要な場合)。

Integer failureRenamePriority

後処理の設定の一部です。システム・エラーがあるとき、これが変更されるバッチ優先度となります(必要な場合)。

String failureProcessorID

後処理の設定の一部です。システム・エラーがあるとき、これがバッチがリリースされるバッチ・プロセッサIDとなります。

String failureProcessorJobID

後処理の設定の一部です。システム・エラーがあるとき、これが、バッチがリリースされるバッチ・プロセッサ・ジョブIDとなります。

5.2.2 BarcodeDefinition

バー・コード検証ルール・タイプの定数を次に示します。

定数

説明

VALIDATION_NONE=0

検証ルールは指定されていません。

VALIDATION_LENGTH=1

バー・コードの長さを使用して検証します。

VALIDATION_MASK=2

マスクを使用して検証します。

VALIDATION_REGULAREXPRESSION=3

正規表現を使用して検証します。

VALIDATION_PICKLIST=4

選択リストを使用して検証します。

このクラスのプロパティは次のとおりです。

プロパティ

説明

String barcodeName

バー・コード定義の名前。

Integer validationRule

バー・コード検証ルール。有効な値は、定数として定義されている0-4です。

Integer validationLength

検証の長さ。

String validationMask

検証のマスク。

String validationRegularExpression

検証の正規表現。

String pickListSourceID

検証の選択リスト・ソースID。

String pickListID

検証の選択リストID。

5.2.3 SeparatorDefinition

このクラスのプロパティは次のとおりです。

プロパティ

説明

String name

セパレータ・ページの名前。

Boolean deleteUponCommit

コミット後にセパレータ・ページを削除するかどうかを決定します。

Integer operator

ルールに使用される演算子。有効な値は、RecognitionJobの定数として定義されている0および1です。

String docTypeID

ドキュメント・タイプがセパレータ・ページに基づいて動的に特定される場合、これがこのセパレータ・ページのドキュメント・タイプのIDとなります。

List<SeparatorRuleDefinition> rules

このセパレータ・ページのルール。

5.2.4 SeparatorRuleDefinition

このクラスのプロパティは次のとおりです。

プロパティ

説明

String name

ルールの名前。

Integer operator

選択されるパッチ・コードおよびバー・コードに使用される演算子。有効な値は、RecognitionJobの定数として定義されている0および1です。

String patchCode

このルールに対して選択されるパッチ・コード。

List<String> barcodes

このルールに対して選択されるバー・コード。

5.2.5 DocumentDefinition

ドキュメント・タイプ・マッピング・オプションの定数を次に示します。

定数

説明

BARCODE_VALUE=0

バー・コード値に基づいてドキュメント・タイプを特定します。

BARCODE_PICKLIST=1

選択リスト内の値に基づいてドキュメント・タイプを特定します。

DocumentDefinitionクラスのプロパティは次のとおりです。

プロパティ

説明

String docTypeID

ドキュメント・タイプID。

Integer mappingType

ドキュメント・タイプをバー・コード値と選択リストのどちらに基づいて特定するかを設定します。有効な値は、定数として定義されている0および1です。

String value

指定されたバー・コード値。

String pickListSourceID

指定された選択リスト・ソースID。

String pickListID

指定された選択リストID。

5.2.6 RecognitionJobField

これらは、自動移入タイプの定数です。

定数

説明

AUTOPOPULATE_NONE=0

索引値を自動移入しません。

AUTOPOPULATE_BARCODE=1

索引値にバー・コード値を自動移入します。

AUTOPOPULATE_BATCHNAME=2

索引値にバッチ名を自動移入します。

AUTOPOPULATE_DEFAULT=3

索引値にデフォルト値を自動移入します。

AUTOPOPULATE_INDEXDATE=4

索引値に索引日付を自動移入します。

AUTOPOPULATE_SCANDATE=5

索引値にスキャン日付を自動移入します。

RecognitionJobFieldクラスのプロパティは次のとおりです。

プロパティ

説明

String indexDefID

プロパティ値を移入するメタデータID。

Integer autoPopulate

自動移入タイプ。有効な値は、定数として定義されている0-5です。

String populateValue

バー・コード・タイプの場合、これはバー・コード定義名を表し、デフォルト・タイプの場合、これはデフォルト値を表します。

5.2.7 RecognitionProcessorContext

プロパティ

説明

Logger logger

ユーザーが追加のエントリを記録するためのロガー。

RecognitionJob job

現在使用されているジョブ。

BatchLockEntity batchLockEntity

現在処理されているバッチ。

CaptureWorkspaceEntity workspaceEntity

現在使用されているワークスペース。

int phaseID

現在のフェーズを示す整数。

0: どのフェーズでもありません。例としては、処理前検証やバッチ・クリーン・アップがあります。

1: バー・コード認識

2: ドキュメント編成

3: ドキュメント分類

4: 索引付け

5: ドキュメント作成

6: 後処理

boolean cancelAction

コールによっては、ユーザーがアクションを取り消せることがあります(バー・コード認識やデータベース参照など)。

BatchItemEntity batchItem

現在処理されているバッチ・アイテム。これは、特にバー・コード認識およびバー・コード検証のときに使用されます(ドキュメント編成フェーズの一部)。

Integer patchCodeRead

バッチ・アイテム上で見つかったパッチ・コード。これが使用されるのは、バー・コード認識フェーズにおいてのみです。

List<String> barcodesRead

1つのバッチ・アイテムに関連付けられているすべてのバー・コード。これには、バッチ・アイテムに関連付けられている元のバー・コードや、バー・コード認識エンジンを通して読み取られたバー・コードも含まれます。これが使用されるのは、バー・コード認識フェーズにおいてのみです。

List<ProcessorItem> validBarcodes

これは、特定のバッチ・アイテムに対して見つかった有効なバー・コードのリストです。これが適用されるのは、バー・コード検証ステップ(ドキュメント編成フェーズの一部)のみです。

ProcessorDocumentには、特定のドキュメントに関連付けられている有効なバー・コードのリストも格納されています。これは、ドキュメントに関連付けられているすべてのバッチ・アイテム上で見つかったすべての有効なバー・コードのコレクションです。

ProcessorItem validBarcode

これはドキュメント区切りを特定するバー・コードに固有であり、最適化されたバー・コード認識設定に固有です。

ProcessorSeparatorPage separator

これは、セパレータ・ページが関係する編成タイプの場合にコールされます。セパレータがnullの場合は、このバッチ・アイテムはセパレータ・ページではありません。

ProcessorDocument document

これは、ドキュメントの分類、索引付けおよびドキュメント作成フェーズで使用されます。ドキュメントについてユーザーが知っている必要のある情報がすべて格納されています。

String dbLookupValue

これが使用されるのは、データベース参照の実行前のみです。ユーザーは参照値を変更できます。

String unIndexedDocTitle

これは、ドキュメント作成フェーズに固有です。このプロパティを使用すると、ユーザーが最初のキャプチャ・ドキュメント・タイトルをカスタマイズできます。デフォルトのタイトルはunindexedです。この値がnullの場合は最初のドキュメント・タイトルは変更されません。

String extractPath

バッチ・アイテム抽出先のパス。これは、バー・コード認識フェーズに固有です。ユーザーはこのプロパティを変更しないでください。

5.2.8 PostProcessContext

プロパティ

説明

String renameBatch

後処理時にバッチがこの名前に変更されます。nullの場合、バッチの名前は変更されません。

Integer priority;

後処理時にバッチがこの優先度に変更されます。優先度が有効ではない(<0または>10)場合は、バッチの優先度はそのままになります。

BatchStatusEntity status;

後処理時に、このステータス・エンティティ・オブジェクトがバッチに関連付けられます。nullの場合、バッチのステータスはそのままになります。

int batchState;

認識プロセス中にエラーが発生した場合は、バッチの状態がBATCH_STATE_ERRORに設定され、それ以外の場合はバッチの状態がBATCH_STATE_READYに設定されます。

List<String> emailRecipients;

電子メール通知の送信先である受信者のリスト。空の場合は、電子メールは送信されません。

String emailSubject;

電子メール通知の件名行。

String emailMessage;

電子メール通知のメッセージ本文。空の場合は、電子メールは送信されません。

String processorID;

現在のバッチのリリース先となるプロセッサID。

String processorJobID;

現在のバッチのリリース先となるプロセッサ・ジョブID。

5.2.9 ProcessorSeparatorPage

プロパティ

説明

boolean include

このセパレータ・ページをコミット後に削除するかどうかを示します。

int level;

これが使用されるのは、編成タイプが階層セパレータ・ページの場合のみです。レベルは1から開始します。

String name;

セパレータ・ページの名前。

String batchItemID;

このセパレータ・ページが関連付けられるバッチ・アイテム。

5.2.10 ProcessorItem

プロパティ

説明

String name;

String value;

ProcessorItemは、名前/値ペアのデータを保持するクラスです。スクリプトでバー・コード名/値を保持するのに使用されます。

5.2.11 ProcessorDocument

プロパティ

説明

String title;

ドキュメントのタイトル。これは、ドキュメント作成フェーズで移入されます。

List<String> batchItems;

このドキュメントに関連付けられているすべてのバッチ・アイテム。これは、ドキュメント編成フェーズで移入されます。

List<ProcessorItem> validBarcodes;

このドキュメントに関連付けられている有効なバー・コード。これは、このドキュメントに関連付けられているすべてのバッチ・アイテムに対して見つかったすべての有効なバー・コードの組合せです。これは、ドキュメント編成フェーズで移入されます。

int failureStatus;

現在のドキュメントのステータス。

- 0: エラーなし

- 1: バー・コードを検証できませんでした。これに該当するのは、ドキュメント内でバー・コード検証ルールに一致する重複バー・コードが見つかり、値を消去するようにジョブが設定されている場合です。

- 2: ドキュメントが最大ページ・ルールを超えています。

- 3: ドキュメント・タイプを特定できません。

- 4: データベース検索結果がなく、レコードが見つからないときにコミットしないようにジョブが設定されています。

String docTypeID;

ドキュメントに関連付けられているドキュメント・タイプID。nullの場合は、IDが特定されていません。

String comment;

ドキュメントに対するコメント。通常はfailureStatusのエラー詳細ですが、ユーザーがスクリプトを通してカスタマイズできます。

String captureDocID;

これが使用されるのは、1ドキュメントのバッチ編成タイプの場合のみです。このタイプのときは、プロセッサによるドキュメント編成は行われず、キャプチャ・ドキュメントも作成されません。このIDがキャプチャ・ドキュメントIDです。

ProcessSeparatorPage separator;

このドキュメントのセパレータ・ページ。これが適用されるのは、編成タイプが"1ドキュメント"と"セパレータがある複数ページ・ドキュメント"の場合です。

List<ProcessSeparatorPage> hierarchySeparators;

このドキュメントのセパレータ・ページ。これが適用されるのは、編成タイプが"階層セパレータのある複数ページ"の場合です。

List<IndexValue> indexValues;

メタデータの名前および値のリスト。

5.3 スクリプトのメソッド

この項では、スクリプトのメソッドについて説明します。項目は次のとおりです。

- initialize (RecognitionProcessorContext rpc)

- processBatch (RecognitionProcessorContext rpc)

- restoreCaptureBatch (RecognitionProcessorContext rpc)

- beginPhase (RecognitionProcessorContext rpc)

- endPhase (RecognitionProcessorContext rpc)

- extractBatchItem(RecognitionProcessorContext rpc)

- barcodesFoundOnItem(RecognitionProcessorContext rpc)

- batchItemAllValidBarcodes (RecognitionProcessorContext rpc)

- determineSeparatorPage(RecognitionProcessorContext rpc)

- batchItemValidBarcode (RecognitionProcessorContext rpc)

- determineDocType(RecognitionProcessorContext rpc)

- beginDatabaseLookup(RecognitionProcessorContext rpc)

- determineIndexValues(RecognitionProcessorContext rpc)

- renameOrigCaptureDocTitle (RecognitionProcessorContext rpc)

- createCaptureDoc(RecognitionProcessorContext rpc)

- postProcess(PostProcessContext postContext)

- endBatchProcess()

5.3.1 initialize (RecognitionProcessorContext rpc)

これは、認識プロセッサがスクリプトに対して最初に行うコールです。まだバッチは指定されていません。

rpcで値が移入されるプロパティは次のとおりです。

- logger: ロガーを使用して追加のエントリをログに記録できます。このプロパティはプロセス全体を通して維持されます。メソッドごとに繰り返されることはありません。

- job: 現在の認識ジョブ。このプロパティはプロセス全体を通して維持されます。メソッドごとに繰り返されることはありません。

- workspaceEntity: 現在のワークスペース・エンティティ。このプロパティはプロセス全体を通して維持されます。メソッドごとに繰り返されることはありません。

- phaseID: 0

5.3.2 processBatch (RecognitionProcessorContext rpc)

これは、認識プロセッサによってバッチが処理される前にコールされます。

- phaseID: 0

- batchLockEntity: この時点で、認識プロセッサによるバッチのドキュメント・リストの更新は完了しています。このプロパティはプロセスの終了まで維持されます。残りのメソッドごとに繰り返されることはありません。

- cancelAction: ユーザーはフラグをtrueに設定するとバッチの処理をスキップできます。

5.3.3 restoreCaptureBatch (RecognitionProcessorContext rpc)

次の場合:

- ジョブ編成タイプが、キャプチャ・バッチを必要としている。

- イメージ・ドキュメントが1つのみである。

- このバッチに複数のドキュメントがある。

- バッチ状態は、ドキュメント作成フェーズでプロセッサが失敗したことを示している。

プロセッサは、バッチとジョブのどちらも最後のプロセス以降に変更されていないことを確認します。この状況では、プロセッサはバッチを元の状態に戻すために、認識プロセスで作成されたドキュメントを削除します。このメソッドはバッチのリストア前に起動され、これにより、ユーザーはリストアを取り消し、バッチの処理を無効にできます。

- phaseID: 0

- cancelAction: フラグをtrueに設定するとバッチのリストアをスキップでき、このバッチの処理がスキップされます。

5.3.4 beginPhase (RecognitionProcessorContext rpc)

これはフェーズの開始を示します。

- phaseID: 6つのフェーズがあります(詳細は「RecognitionProcessorContext」のphaseIDを参照してください)。

- cancelAction: フラグをtrueに設定すると特定のフェーズをスキップできます。スキップできないフェーズの場合は、このフラグは無視されます。

- 取り消すことができるフェーズ: バー・コード認識、ドキュメント分類、索引付け。

- 取り消すことができないフェーズ: ドキュメント編成、ドキュメント作成、後処理。

5.3.5 endPhase (RecognitionProcessorContext rpc)

これはフェーズの終了を示します。

- phaseID: 6つのフェーズがあります(詳細は「RecognitionProcessorContext」のphaseIDを参照してください)。

5.3.6 extractBatchItem(RecognitionProcessorContext rpc)

これは、バー・コード認識フェーズで発生します。プロセッサは、ページ上でバー・コード認識を実行する直前に、バッチ・アイテムを一度に1つずつディレクトリに抽出します。その後、プロセッサからユーザーにアイテムの場所が通知されます。

- phaseID: 1

- extractPath: バッチ・アイテムが存在するディレクトリ。

5.3.7 barcodesFoundOnItem(RecognitionProcessorContext rpc)

これは、プロセッサによってバッチ・アイテムが処理され、このアイテム上のバー・コードが収集および認識された後に起動されます。

- phaseID: 1

- batchItem: バー・コード認識の実行に現在使用されているバッチ・アイテム。

- patchCodeRead: バッチ・アイテム上で見つかったパッチ・コード値。

- barCodesRead: ページ上で読み取られたバー・コードと、バッチ・アイテム上の既存のバー・コードの組合せ。

5.3.8 batchItemAllValidBarcodes (RecognitionProcessorContext rpc)

これは、認識プロセッサによって特定のバッチ・アイテム上のバー・コードの検証が完了した後に発生します。

- phaseID: 2

- batchItem: バー・コード検証の実行に現在使用されているバッチ・アイテム。

- validBarCodes: バッチ・アイテム上で見つかった有効なバー・コードの名前/値ペアのリスト。このリストには、認識ジョブ内のすべてのバー・コード定義が含まれます。値の変更はできますが、名前の変更や、リストのアイテムの追加や削除は行わないでください。

5.3.9 determineSeparatorPage(RecognitionProcessorContext rpc)

これは、このページがセパレータかどうかの確認が完了した後に発生します。このメソッドが起動されるのは、認識ジョブに対してセパレータが定義されているときのみです。このコールで使用されるプロパティは次のとおりです。

- phaseID: 2

- batchItem: セパレータかどうかの判定が行われる現在のバッチ・アイテム。

- validBarCodes: バッチ・アイテム上で見つかった有効なバー・コードの名前/値ペアのリスト。このリストには、認識ジョブ内のすべてのバー・コード定義が含まれます。

- separator: このバッチ・アイテムが有効なセパレータである場合を除いて、このオブジェクトはnullです。変更を加える場合は、nullに設定するか、有効なデータを移入する必要があります。

レベルが使用されるのは階層セパレータ・ページ・タイプのみです。その他の編成タイプの場合、この値は無視されます。レベルは1から開始します。

プロセッサによって特定されたレベルは変更できます。ただし、レベルが認識ジョブ定義に適合しない場合は、最高レベル(レベル<=0)または最低レベル(レベル>=定義されている最大レベル)が使用されます。

5.3.10 batchItemValidBarcode (RecognitionProcessorContext rpc)

このメソッドは、このバッチ・アイテム上で認識された有効なバー・コードを1つ受け取ります。このコールが発生するのは、バッチ編成タイプがすべてのページのバー・コードで、かつバー・コード認識の最適化がオンの場合のみです。

ページ上でバー・コードが見つからないと、プロセッサは次のページ上でセパレータ・バー・コード値の特定を試みます。次のページでバー・コード値が特定された直後にこれがコールされます。

- phaseID: 2

- batchItem: セパレータ・バー・コード値を特定する、次ページのバッチ・アイテム。

- validBarcode: セパレータ・バー・コードの名前/値ペア。ユーザーは必要であれば値を変更できます。

5.3.11 determineDocType(RecognitionProcessorContext rpc)

これは、認識プロセッサがドキュメント・タイプをデフォルトのドキュメント・タイプか動的ドキュメント・タイプ・マッピングの1つに特定した後にコールされます。docTypeIDは、プロセッサがこれを特定できない場合、nullにできます。

- phaseID: 3

- document: 現在のドキュメント情報が格納されます。プロパティの一部は、特定の編成タイプに固有です。docTypeIDはここで調べ、必要に応じて変更する必要があります。

5.3.12 beginDatabaseLookup(RecognitionProcessorContext rpc)

これは、認識プロセッサが参照値を特定した後、参照の実際の実行がコールされる前にコールされます。

- phaseID: 4

- dbLookupValue: ユーザーは参照値を変更できます。

- cancelAction: ユーザーは参照を取り消すことができます。

5.3.13 determineIndexValues(RecognitionProcessorContext rpc)

これは、認識プロセッサが特定のプロセッサ・ドキュメントのすべてのメタデータ値を特定した後にコールされます。ユーザーは値を変更する機会が与えられます。

- phaseID: 4

- document: 現在のドキュメント情報が格納されます。プロパティの一部は、特定の編成タイプに固有です。索引値はここで調べ、必要に応じて変更する必要があります。

5.3.14 renameOrigCaptureDocTitle (RecognitionProcessorContext rpc)

これは、プロセッサによって元のドキュメントの名前がunindexedに変更される前にコールされます。これは、"1ドキュメントのみ"を除くすべてのバッチ編成タイプに適用されます。

- phaseID: 5

- unIndexedDocTitle: ユーザーがタイトルを変更できます。

5.3.15 createCaptureDoc(RecognitionProcessorContext rpc)

プロセッサによってキャプチャ・ドキュメントが作成される前に、ドキュメントのタイトル、ドキュメント・タイプID、メタデータ値およびドキュメントのコメントをカスタマイズできます。このドキュメントに関連付けられるバッチ・アイテムの変更もできますが、編成タイプが"1ドキュメントのみ"の場合は、バッチ・アイテムを変更しても結果は変わりません。

- phaseID: 5

- document: プロセッサが作成しようとしているキャプチャ・ドキュメント。

5.3.16 postProcess(PostProcessContext postContext)

これは、認識プロセッサがすべての後処理設定を特定した後、実際の変更が行われる前に呼び出されます。

- postContext: 必要であれば、ユーザーは、後処理の結果に影響を及ぼすような変更を加えることができます。

5.3.17 endBatchProcess()

これは、認識プロセッサによるバッチの処理が完了したことを示します。

6 インポート・プロセッサ・スクリプトの作成

この章では、インポート・プロセッサ・スクリプトの作成について説明します。

インポート・プロセッサには多数の機能があり、インポート・プロセスのカスタマイズが必要な場合のために、様々なカスタマイズ方法があります。

この章では、次の内容を説明します。

- 第6.1項「インポート・プロセッサのスクリプト処理」

- 第6.2項「インポート・プロセッサのクラス」

6.1 インポート・プロセッサのスクリプト処理

インポート・プロセッサ用のスクリプトを開発すると、様々な機能を実行できます。一般的なタスクには、次のようなものがあります。

- 特定のイメージ・ファイルのインポートをスキップする

- キャプチャのバッチ・プロパティを変更する

- バッチのインポートをスキップする

- インポート時にページ・レベルのメタデータ値を追加する

- インポート後にイメージを別のフォルダに移動する

インポート・ジョブで、処理時に使用するスクリプトが指定されている場合は、インポート・プロセッサBeanによってJDKのScriptRuntimeクラスのインスタンスが作成され、ジョブで指定されたスクリプトを使用して初期化されます。インポート・プロセッサBean、インポート・マネージャBeanおよびインポート・ソースのすべてが、このスクリプト処理ランタイムを共有します。

この項では、次のイベントを定義します。

- インポート・プロセッサのイベント

- 電子メール・ソースのイベント

- フォルダ・ソースのイベント

- リスト・ファイル・ソースのイベント

6.1.1 インポート・プロセッサのイベント

次の表に、インポート・プロセッサのイベントの定義を示します。

イベント

説明

public void preProcess(ImportProcessorContext ctx);

このイベントは、インポート・ソースの前処理の前に発生します。初期化コードをここで実行できます。

public process(ImportProcessorContext ctx;)

このイベントは、インポート・プロセスの開始を表します。

public void postProcess(ImportProcessorContext ctx);

このイベントは、インポート・ソースの処理が完了した後に発生します。クリーンアップ・コードをここで実行できます。

public void preCreateBatch(ImportProcessorContext ctx);

このイベントは、新しいバッチの開始直後に発生します。

public void postCreateBatch(ImportProcessorContext ctx);

このイベントは、バッチの作成直後で、ドキュメントが作成される前に発生します。

public void preCreateDocument(ImportProcessorContext ctx);

このイベントは、新しいドキュメントが作成される前に発生します。

public void postCreateDocument(ImportProcessorContext ctx);

このイベントは、新しいドキュメントが作成された後に発生します。

public void preImportFile(ImportProcessorContext ctx);

このイベントは、ファイルがインポートされる前に発生します。

public void postImportFile(ImportProcessorContext ctx);

このイベントは、ファイルがインポートされた後に発生します。

public void preRelease(ImportProcessorContext ctx);

このイベントは、バッチがリリースされる前に発生します。

public void postRelease(ImportProcessorContext ctx);

このイベントは、バッチがリリースされた後に発生します。

public void preDatabaseSearch(ImportProcessorContext ctx);

このイベントは、データベース参照の前に発生します。

public void processDatabaseSearchResults(ImportProcessorContext ctx);

このイベントは、データベース参照によって検索結果が返された後に発生します。

6.1.2 電子メール・ソースのイベント

次の表に、電子メール・ソースのイベントの説明を示します。

イベント

説明

public void newMessage(ImportProcessorContext ctx, EmailSourceContext emailCtx);

このイベントは、新しい電子メール・メッセージが処理される直前に発生します。

public void newAttachment(ImportProcessorContext ctx, EmailSourceContext emailCtx);

このイベントは、新しい電子メール添付ファイルが処理される直前に発生します。

public void deleteMessage(ImportProcessorContext ctx, EmailSourceContext emailCtx);

このイベントは、電子メール・メッセージ後処理ステップの中で、電子メール・メッセージが削除される直前に発生します。

public void moveMessage(ImportProcessorContext ctx, EmailSourceContext emailCtx);

このイベントは、電子メール・メッセージ後処理ステップの中で、電子メール・メッセージが電子メール・フォルダに移動される直前に発生します。

6.1.3 フォルダ・ソースのイベント

次の表に、フォルダ・ソースのイベントの説明を示します。

イベント

説明

public void newFolder(ImportProcessorContext ctx, FolderSourceContext folderCtx);

このイベントは、新しいフォルダが処理される直前に発生します。

public void deleteDocumentFile(ImportProcessorContext ctx, FolderSourceContext folderCtx);

このイベントは、フォルダ後処理ステップの中で、フォルダからファイルが削除される直前に発生します。

public void renameDocumentFile(ImportProcessorContext ctx, FolderSourceContext folderCtx);

このイベントは、フォルダ後処理ステップの中で、フォルダ内のファイルの名前が変更される直前に発生します。

6.1.4 リスト・ファイル・ソースのイベント

次の表に、リスト・ファイル・ソースのイベントの説明を示します。

イベント

説明

public void newFolder(ImportProcessorContext ctx, ListFileSourceContext listFileCtx);

このイベントは、リスト・ファイルが格納されている新しいフォルダが処理される直前に発生します。

public void newListFile(ImportProcessorContext ctx, ListFileSourceContext listFileCtx);

このイベントは、新しいリスト・ファイルが処理される直前に発生します。

public void newListFileLine(ImportProcessorContext ctx, ListFileSourceContext listFileCtx);

このイベントは、リスト・ファイル内の新しい行が処理される直前に発生します。

public void deleteListFile(ImportProcessorContext ctx, ListFileSourceContext listFileCtx);

このイベントは、リスト・ファイル後処理ステップの中で、リスト・ファイルが削除される直前に発生します。

public void renameListFile(ImportProcessorContext ctx, ListFileSourceContext listFileCtx);

このイベントは、リスト・ファイル後処理ステップの中で、リスト・ファイルの名前が変更される直前に発生します。

6.2 インポート・プロセッサのクラス

この項では、次のインポート・プロセッサのクラス定義します。

- ImportJob

- ImportProcessorContextクラス

- インポート・プロセッサで使用されるキャプチャのコア・クラス

- 電子メール・ソースのクラス

- フォルダ・ソースのクラス

- リスト・ファイル・ソースのクラス

6.2.1 ImportJob

インポート・ジョブは、バッチをインポート・ソース(ファイル・システム・フォルダ、区切り形式リスト・ファイル、電子メール・サーバーの受信トレイ/フォルダなど)からインポートするよう、キャプチャ・ワークスペース内で構成されます。次の表に、インポート・ジョブのプロパティの定義を示します。

プロパティ

説明

String jobID

ジョブをシステム内で一意に識別する値。これはGUIDとなります。

String workspaceID

ジョブが属するワークスペースの識別子。

String jobName

人間が判読可能なジョブ名。

String dbSearchID

ジョブの処理時に使用されるデータベース検索の識別子。

String dbSearchFieldID

ジョブの処理時に使用されるデータベース検索フィールドの識別子。

Integer imageDownsample

この整数によって、イメージのサンプリング方法が決まります。

0: なし(イメージ形式を維持)

1: 色を8ビット・グレースケールにダウンサンプル

2: 色またはグレースケールを白黒にダウンサンプル

Integer jpegQuality

JPEG画質(0から99)。

String batchPrefix

バッチ名の作成時に使用されるバッチ接頭辞。

String defaultBatchStatusID

このジョブで作成されたバッチに関連付けられるバッチ・ステータスの識別子。

Integer defaultPriority

バッチに割り当てられるデフォルトの優先度(0から10)。

String defaultDocumentTypeID

このジョブで作成されたドキュメントのデフォルトのドキュメント・プロファイル。

Integer searchResultOption

データベース参照で複数の結果が返されたときの処理方法を決定します。

0: 最初のレコードを使用する

1: 結果を無視する(フィールドに値を移入しない)

String scriptID

このジョブに使用されるスクリプトの一意の識別子。

Integer importFrequency

ジョブで処理する作業をポーリングする頻度を指定する値(秒単位)。次の値を指定できます。

0: 非アクティブ

30: 30秒ごと

60: 1分ごと

300: 5分ごと

900: 15分ごと

1800: 30分ごと

3600: 1時間ごと

-1: 毎日(時刻を指定)

Integer hour

importFrequencyが毎日に設定されている場合、ここで時刻(時)を指定します。

Integer minute

importFrequencyが毎日に設定されている場合、ここで時刻(分)を指定します。

Date lastCheck

処理するジョブが最後にチェックされた日時。これは、ジョブで処理する作業がポーリングされた後にインポート・ジョブ・スケジューラによって更新されます。

Map<String, FieldMappingInfo> fieldMappings

ソース・メタデータ・フィールドをインポートするためにキャプチャのフィールドをマッピングする値のセット。

String importSourceClassName

このジョブのインポート・ソースを実装するJavaクラスの名前。

ImportSourceConfiguration importSourceConfig

このジョブに対して定義されたインポート・ソースの構成が格納されます。

String batchProcessorClassName

バッチがリリースされるときの処理に使用されるクラスの名前。この値がnullの場合は、バッチ・ロックが破棄されてバッチがREADY状態になります。

String batchProcessorJobID

バッチ・プロセッサ・ジョブの一意の識別子。この値がnullの場合は、プロセッサがジョブをサポートしていないか、バッチがREADY状態に移行しようとしています。

Integer imageFailureAction

これは、無効なイメージが検出されたときに実行されるアクションです。

0: バッチを強制終了する

1: アイテムをスキップする

Locale locale

リスト・ファイル・ソースのロケールを指定します。

String defaultDateFormat

リスト・ファイル・ソース内の日付のデフォルトの形式を指定します。

String description

このジョブの説明。

String encoding

リスト・ファイル・ソースのファイル・エンコーディングを指定します。

Boolean isJobOnline

このジョブを処理するかどうかを示します。

6.2.2 ImportProcessorContextクラス

ImportProcessorContextクラスには、処理されるジョブに関連するプロパティが格納されます。このクラスのインスタンスが処理開始前に作成され、処理の様々なステージでインポート・ソースに渡されます。

プロパティ

説明

Boolean cancel

このブール値がTrueに設定されている場合、実行される操作が取り消されます。

Boolean cancelDBSearch

このブール値がTrueに設定されている場合、データベース参照が取り消されます。

DBSearchResults dbSearchResults

ここには、データベース参照の結果が格納されます。

String sourceName

現在のインポート・ジョブで使用するように構成されているインポート・ソースの名前。

Logger logger

これはインポート・プロセッサのLoggerクラスのインスタンスであり、これを使用すると処理関連の情報をログに記録できます。

ImportManagerSession importManager

これは、このコンテキストで使用されるインポート・マネージャ・セッションBeanです。

ScriptEngine scriptEngine

インポート・プロセッサ・スクリプト内のメソッドの起動に使用されるスクリプト処理エンジン。

ImportJob importJob

これは、現在処理されているインポート・ジョブです。

BatchLockEntity ble

ここには、新しいバッチの作成後、バッチのバッチ・ロック・エンティティが格納されます。

String importSourceFile

これは、現在処理されているファイルの名前です。

DocumentEntity documentEntity

現在処理されているファイルに関連付けられているドキュメント・エンティティ。

DocumentPageEntity documentPageEntity

これは、現在処理されているファイルに関連付けられているドキュメント・ページ・エンティティです。

ImportHATokenEntity importHATokenEntity

これは、現在のバッチに関連付けられている高可用性トークンです。

Integer lastMultiPageTiffNumber

ここには、処理されている複数ページTIFFファイルの、現在のページ番号が格納されます。

CaptureWorkspaceEntity workspaceEntity

これは、現在のバッチに関連付けられているワークスペース・エンティティです。

WorkspaceManager workspaceManager

これは、現在のインポート・ジョブに関連付けられているワークスペース・マネージャです。

6.2.3 インポート・プロセッサで使用されるキャプチャのコア・クラス

次の表に、インポート・プロセッサで使用されるキャプチャのコア・クラスの説明を示します。

クラス

プロパティ

説明

oracle.odc.data.DBSearchResults

List<DBSearchResultRow>

データベース参照からの行のリスト。

List<DBSearchFieldInfo> fieldInfoList

データベース参照で使用される列を説明する、検索フィールド情報のリスト。

oracle.odc.data.DBSearchResultRow

List<String> results

データベース参照からの結果のリスト。リスト内のアイテムはそれぞれ1つの列を表します。

oracle.odc.data.DBSearchFieldInfo

String captureIndexDefID

キャプチャ・メタデータ・フィールド定義のID。

String dbColumnName

データベース参照列の名前。

Integer dbColumnType

データベース参照列のタイプ。

Integer captureFieldType

キャプチャ・メタデータ・フィールド定義のタイプ。

6.2.4 電子メール・ソースのクラス

次の表に、電子メール・ソースのクラスの説明を示します。FolderおよびMessageのクラス定義は、Javamail APIのドキュメントを参照してください。

クラス

プロパティ

説明

oracle.odc.importprocessor.email.EmailSourceContext

String account

現在処理されている電子メール・アカウントの名前。

Folder folder

現在処理されている電子メール・フォルダ。

Message message

現在処理されている電子メール・メッセージ。

String attachmentFilename

現在処理されている電子メール・メッセージ添付ファイルのファイル名。

6.2.5 フォルダ・ソースのクラス

次の表に、フォルダ・ソースのクラスの説明を示します。

クラス

プロパティ

説明

oracle.odc.importprocessor.folder.FolderSourceContext

String folderName

現在処理されているディレクトリの名前。

String documentFilename

現在処理されているファイルの名前。

String renamedDocumentFilename

後処理ステップでファイルへの接頭辞追加または拡張子の変更が指定されている場合は、このプロパティが変更後のファイル名を示します。

6.2.6 リスト・ファイル・ソースのクラス

次の表に、リスト・ファイル・ソースのクラスの説明を示します。

クラス

プロパティ

説明

oracle.odc.importprocessor.listfile.ListFileSourceContext

String folderName

現在処理されているフォルダの名前。

String listFilename

現在処理されているリスト・ファイルの名前。

String listFileLine

リスト・ファイル内の現在処理されている行の内容。

String documentFilename

リスト・ファイルの現在の行から現在処理されているファイルの名前。

String renamedListFilename

後処理ステップでリスト・ファイルへの接頭辞追加または拡張子の変更が指定されている場合は、このプロパティが変更後のファイル名を示します。

A キーコード

JavaScript内でキーコードを指定する必要がある場合は、次の場所を参照してください。

http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2014, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。