オブジェクト関数の概要
オブジェクト関数は、特定のオブジェクト固有のビジネス・ロジックをカプセル化するコードに役立ちます。 同じオブジェクトに関連する他のスクリプトから、オブジェクト関数を名前で呼び出すことができます。
ユーザー・インタフェースでボタンまたはリンクを使用して呼び出すこともできます。 オブジェクト関数は複数のコンテキストで再利用できます。 たとえば、トリガーまたは検証ルール内でオブジェクト関数を再利用できます。 スケジュール済プロセスを使用するか、オブジェクト・ワークフローのGroovyスクリプト・アクション内で使用して、オブジェクト関数を非同期に使用することもできます。
長時間実行されるwebサービスの完了を待つ必要がないように、外部Webサービスへの非同期コールを実行するとします。 次のことが可能です。
-
スケジュール済プロセス・ツールを使用して、スケジュールされた時間にオブジェクト関数を使用してwebサービスをコールします。 ユーザーがユーザー・インタフェースに即時フィードバックを表示する必要がない場合、レコードのセットを毎日または毎週非同期で処理できます。
このトピックの「スケジュール済プロセス」に対するオブジェクト関数の使用に関する項を参照してください。
-
オブジェクト・ワークフローのGroovyスクリプト・アクションからオブジェクト関数を使用してwebサービスをコールします。 オブジェクト・ワークフローも非同期に実行され、ワークフローがトリガーされるときの条件を設定できるなどの追加機能が提供されます。
関連トピックのオブジェクト・ワークフローとGroovyスクリプトの連携を参照してください。
オプションで、値を返すオブジェクト関数を定義できます。 関数の起動時に呼び出し元が値を指定する必要がある型付きパラメータを指定することもできます。 サポートされている戻り型とオプションのパラメータ型は、グローバル関数と同じです。 ただし、関数が値を返すように定義されている場合、スケジュール済プロセスでは、パラメータがなく、戻り型がStringであるオブジェクト関数のみがサポートされます。 そのため、スケジュール済プロセスで使用するオブジェクト関数を定義する場合は、パラメータが定義されていないことを確認し、値を返す関数を定義する場合は、戻り型がStringであることを確認してください。
オブジェクト関数の詳細は、『Groovy Scripting Reference』ガイドを参照してください。