スーパークラス機能
データトランスフォームとスーパークラス機能
デベロッパーは、データトランスフォームのモジュール化を進めるために、スーパークラス機能を使用できます。 スーパークラス機能では、複数のデータトランスフォームを結合し、クラス階層のさまざまなレベルで値を設定できます。 この機能を利用すると、データトランスフォームの保守性が向上します。
データトランスフォームのスーパークラス機能を有効にすると、Pega Platform™では実行時、次のように動作します。
- 現在のクラスの親が識別されます。
- 最上位の親クラスが見つかるまで、順に次のレベルの親が識別されます。
- データトランスフォームを探します。
- データトランスフォームを呼び出します。
次の画像で「+」アイコンをクリックすると、実行時プロセスの各部分の詳細が表示されます。
データトランスフォームスーパークラス機能のユースケース
ここでは、「Claim」クラスの「Home」サブクラスについて考えてみます。 「Home」サブクラスには「Rental」サブクラスがあり、データトランスフォームにより各レベルでデフォルト値が設定されています。 一般的なデフォルト値は「Claim」クラスで設定され、特定の値はサブクラスで設定されるように、データトランスフォームを設定できます。
ケースタイプでは、親クラスに含まれる「Date of loss」フィールドと「Address」フィールドという2つのフィールドが必要となります。 各クラスにSetDefaultデータトランスフォームを設定し、「Date of Loss」と「Prefix」(ケースIDの接頭辞)の共通のデフォルト値を「Claim」クラスに設定します。「Address」は「Home」クラス、「Name on lease」は「Rental」クラスに設定されています。
補足: App Studioがデフォルトのフィールドを自動的に作成した場合、スーパークラス機能が有効になります。
次の画像は、「Rental」ケースタイプを作成し、すべてのデータトランスフォームでスーパークラス機能を有効にしているときに呼び出される「SetDefault 」データトランスフォームのルール実行シーケンスを示しています。 「+」アイコンをクリックすると、各ルール実行ステップが表示されます。
補足: アプリケーションの保守性と拡張性を改善する方法の詳細については、 「Extensibility patterns」を参照してください。
以下のインタラクションで理解度をチェックしてください。
データトランスフォームのスーパークラス機能を設定する
スーパークラス機能を設定するには、「Dev Studio」のワークスペースで、各クラスレベルにクラス名でデータトランスフォームを作成し、そのデータトランスフォームで「Call superclass data transform」オプションが選択されていることを確認します。 親クラスとサブクラスの両方でプロパティが指定されている場合、サブクラスのデータトランスフォームにより親クラスのデータトランスフォームが上書きされます。
Pega Platformでは、「Work」クラスに標準の「pyDefault」データトランスフォームが用意されており、そこからケースタイプが継承します。 標準のWork- pyDefaultデータトランスフォームは、すべてのケースタイプで使用されるプロパティ値を設定する。 プロパティには、ワークステータス、業務の緊急度、オペレーターの組織の情報が含まれます。
ヒント: これらのデフォルト設定は、「pyDefault」ケースタイプのデータトランスフォームで上書きできます。 たとえば、「Work- pyDefault」の業務の緊急度の値が10設定されるとします。 ケースタイプの設定を優先したい場合は、すべての新しいケースのデフォルトの緊急度の値を40に変更できます。
以下のインタラクションで理解度をチェックしてください。
このトピックは、下記のモジュールにも含まれています。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。