JavaObject 型オブジェクトのインスタンス化と EGL インターフェース

JavaObject 型オブジェクトのインターフェースを使用する場合は、多くの場合、実行時に、オブジェクトを作成する静的メソッドにアクセスする必要があります。 こうした要件があるのは、EGL インターフェース・テクノロジーでは ユーザーが EGL コードから Java™ オブジェクトを インスタンス化することができないからです。

次の EGL ソース・ファイルについて考えます。
  package myInterfaces;

  Interface HelloWorld type JavaObject
    {javaName = "HelloWorld", 
     packageName = "com.ibm.examples.helloWorld"}
     
    function sayHello(name String) 
						 returns (String);
  End
コンパイル時および実行時の両方で、関連した Java クラスが使用可能になっている必要があります。
  package com.ibm.examples.helloWorld;

  class HelloWorld
  {
     // Java クラス・コンストラクター
     public HelloWorld()
     {
     }

     // 関数の実行
     // インターフェース内を参照する
     public String sayHello(String name)
     {
       return "Hello " + name;
     }
   }
次のように、EGL インターフェース・パーツを追加することもできます
  package myInterfaces;

  Interface HelloWorldFactory
    {javaName = "HelloWorldFactory", 
     packageName = "com.ibm.examples.helloWorld"}
    static function createHelloWorld() 
      returns (HelloWorld);
  End
インターフェース・パーツ HelloWorldFactory は次の Java クラスを 参照します。このクラスにはオブジェクト・タイプ HelloWorld を戻す静的メソッドが 含まれています。
  package com.ibm.examples.helloWorld;

  class HelloWorldFactory
  {
    // Java クラス・コンストラクター
    public HelloWorldFactory()
    {
    }

    // 関数の実行
    // インターフェース内を参照する
    public static HelloWorld createHelloWorld()
    {
      return new HelloWorld;
    }
  }
EGL プログラムは次のようなコードを含んでいます。
  package myDriver;
  import myInterfaces.*;

  program myProgram { }
  
    function myFunction()
      echo STRING;

      // HelloWorld 型の変数を作成する;
      // この参照変数は NIL を指す
      hwVar HellowWorld;

      // Java オブジェクトに変数を割り当てる
      hwVar = HelloWorldFactory.createHelloWorld();

      // 任意の Java メソッドにアクセスする
      // HelloWorld 型のオブジェクトの
      // および対応する
      // 関数の記述
      // EGL インターフェース・パーツの
      echo = hwVar.sayHello("John Doe");
    End
  End

JSF コンポーネント・ツリーと対話する pageHandler を書いている場合は、EGL インターフェース・パーツに基づいて変数を作成します。ただし、EGL が問題を実行時に処理するため、オブジェクトの作成に関与する必要はありません。 概要については、『JSF コンポーネント・ツリー』を参照してください。

関連概念
EGL インターフェース
JSF コンポーネント・ツリー

関連タスク
EGL インターフェース・パーツの作成

関連リファレンス
EGL ソース形式のインターフェース・パーツ
JavaObject 型のインターフェース

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.