jp.terasoluna.fw.service.rich
インタフェース BLogic<P,R>

型パラメータ:
P - 業務パラメータ
R - 業務結果
既知の実装クラスの一覧:
AbstractBLogic

public interface BLogic<P,R>

TERASOLUNAが定義する サービス層のクラスが実装することが出来るインタフェース。

業務開発者は、業務ロジックのパラメータである任意の型のJavaBeanを受け取り、 業務ロジック結果の任意の型のJavaBeanを返却する処理を実装すること。

トランザクション境界となるため、あらかじめ定義した トランザクションプロキシの抽象定義を継承してBean定義を行うこと。 また、回復不可能なエラーが発生した場合は、 プロジェクトで定められたルールで任意の例外をスローすること。

【Bean定義例】

   <bean id="maxBLogic" parent="baseTransactionProxy">
     <property name="target">
       <bean class="jp.terasoluna.sample2.service.blogic.MaxBLogic"/>
     </property>
   </bean>
 
※ baseTransactionProxyは、トランザクションプロキシのベース定義。

通常、サービス層のクラスは、 DIコンテナを利用した場合、1つのサービスに対して1つのインタフェースとする、 フレームワーク特定のインタフェースに依存しないPOJOであることが望ましいが、 TERASOLUNAでは、1つのインタフェースで複数のサービスを実現する仕組みも用意している。 BLogicインタフェースを実装したクラスを利用すると、 プレゼンテーション層は、サービス層のクラスを統一的に扱うことが出来るため、 リクエストごとにプレゼンテーション層の呼び出しクラスを実装する必要がなくなるメリットがある。

プレゼンテーション層からの呼び出しについては、 BLogicControllerを参考にすること。

BLogicController クラスでは、実装クラスのexecuteメソッドの引き数の型をもとに、コマンドオブジェクトの型を自動判定している。 よって実装クラスでは、「execute」という名称のメソッドは、本インタフェースを実装した1メソッドのみ定義し、 オーバーロード(メソッド名が同一で引数の型、数、並び順が異なるメソッドを複数定義)しないこと。

関連項目:
BLogicController

メソッドの概要
 R execute(P params)
          業務ロジックを実行する。
 

メソッドの詳細

execute

R execute(P params)
業務ロジックを実行する。

実装クラスにて本メソッド以外に 引数の型、数が異なるexecuteメソッドを定義してはならない。

パラメータ:
params - 業務処理パラメータ
戻り値:
業務処理結果


Copyright © 2012. All Rights Reserved.