Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
|
目次
索引

|
7.4.3 インタフェース実装クラス
初期化処理の後、サーバアプリケーションで実装するインタフェースの処理を記述します。OOCOBOLでは、インタフェースの処理を行うインタフェース実装クラスと、インタフェース実装クラスの生成プログラムを用意する必要があります。
インタフェース実装クラス
CLASS-ID. ODDEMO-CALCULATOR-IMPL
INHERITS ODDEMO-CALCULATOR.
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
REPOSITORY.
COPY CORBA--REP.
COPY SIMPLE--REP.
.
SPECIAL-NAMES.
SYMBOLIC CONSTANT
COPY CORBA--CONST.
COPY SIMPLE--CONST.
.
*
OBJECT.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY CORBA--COPY.
COPY SIMPLE--COPY.
*
PROCEDURE DIVISION.
*
METHOD-ID. CALCULATE OVERRIDE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 EXC USAGE OBJECT REFERENCE ODDEMO-CALCULATOR-ZEROPARAM.
LINKAGE SECTION.
01 A TYPE CORBA-LONG.
01 B TYPE CORBA-LONG.
01 RESULT TYPE ODDEMO-CALCULATOR-RESULT.
*
PROCEDURE DIVISION
USING A
B
RETURNING RESULT
RAISING CORBA-SYSTEMEXCEPTION
ODDEMO-CALCULATOR-ZEROPARAM.
*
IF B = 0
INVOKE ODDEMO-CALCULATOR-ZEROPARAM "NEW" RETURNING EXC
EXIT METHOD RAISING EXC
END-IF.
*
COMPUTE ADD_RESULT OF RESULT = A + B.
COMPUTE SUBTRACT_RESULT OF RESULT = A - B.
COMPUTE MULTIPLE_RESULT OF RESULT = A * B.
COMPUTE DIVIDE_RESULT OF RESULT = A / B.
*
END METHOD CALCULATE.
*
END OBJECT.
*
END CLASS ODDEMO-CALCULATOR-IMPL.
インタフェース実装クラス生成プログラム
インタフェース実装クラスは、ORBが生成します。ORBからインタフェース実装クラス生成プログラムが呼ばれて、インタフェース実装クラスが生成されます。インタフェース実装クラス生成プログラム名は、モジュール名、インタフェース名をハイフン("-")でつなげた名前に"--INIT"を付加した名前にします。RETURNING句には、インタフェースクラスを指定します。このプログラムではインタフェース実装クラスを生成して返します。
IDENTIFICATION DIVISION.
PROGRAM-ID. ODDEMO-CALCULATOR--INIT.
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
REPOSITORY.
CLASS ODDEMO-CALCULATOR
CLASS ODDEMO-CALCULATOR-IMPL
.
*
DATA DIVISION.
LINKAGE SECTION.
01 RESULT USAGE OBJECT REFERENCE ODDEMO-CALCULATOR.
*
PROCEDURE DIVISION
RETURNING RESULT.
*
INVOKE ODDEMO-CALCULATOR-IMPL "NEW"
RETURNING RESULT.
*
END PROGRAM "ODDEMO-CALCULATOR--INIT".
Copyright 2005 FUJITSU LIMITED