カスタム コントロールのソース ファイル

カスタム コントロールは、2 つの Java ソース ファイル (インタフェース クラス ファイルと実装クラス ファイル) で構成されています。

インタフェース クラスには、パブリックにアクセスできるコントロールのメソッドが含まれています。コントロールのクライアントは、実装クラスにある実際のメソッドを呼び出します。

実装クラスには、コントロールの実際の実装コードが記述されています。

さらに、各カスタム コントロールに関連付けられた第三のクラス (生成された JavaBean クラス) が存在します。このクラスは、インタフェースと実装のソース ファイルから作成されたビルド結果です。生成された JavaBean クラスは、特にコントロールのデフォルトのアノテーション値をオーバーライドするなど、プログラムによるコントロールへの補足的なアクセスを提供します。このクラスの詳細については、「ControlBean によるコントロールのアノテーション値のオーバーライド」を参照してください。

カスタム コントロールのインタフェース クラス

カスタム コントロールのインタフェース クラスは、@ControlInterface アノテーションで修飾される必要があります。

package controls.hello;
 
import org.apache.beehive.controls.api.bean.ControlInterface;
 
@ControlInterface
public interface Hello {
 
    ...
 
}

@ControlInterface アノテーションは、このクラスを コントロールのフレームワークの一部として処理するようにコンパイラに通知します。

また、インタフェース クラスにはパブリックにアクセスできるコントロールのメソッドがリストされています。以下に、パブリックにアクセスできるメソッドを持つコントロールの例を示します。

package controls.hello;
 
import org.apache.beehive.controls.api.bean.ControlInterface;
 
@ControlInterface
public interface Hello {
 
	public String hello();
 
}

カスタム コントロールの実装クラス

カスタム コントロールの実装クラスには、コントロールの実行内容を定義したコードである、コントロールのロジックが記述されています。このファイルには、コントロールの各メソッドが実行する内容を定義します。

カスタム コントロールの実装クラスでは、以下に示す要件が最低限必要です。

  1. @ControlImplementation アノテーションで修飾されること。
        import org.apache.beehive.controls.api.bean.ControlImplementation;
     
        @ControlImplementation
        public class HelloImpl
  2. 対応するカスタム コントロールのインタフェース ファイルを実装すること。
        import org.apache.beehive.controls.api.bean.ControlImplementation;
     
        @ControlImplementation
        public class HelloImpl implements Hello
  3. 以下のいずれかを行うこと。

    (a) java.io.Serializable を実装する

        import java.io.Serializable;
     
        @ControlImplementation
        public class HelloImpl implements Hello, Serializable

    (b) @ControlImplementation(isTransient=true) を設定する
        @ControlImplementation(isTransient=true)
        public class HelloImpl implements Hello {
     
        }

関連トピック

コントロール : はじめに


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。