新着記事

2004年12月06日

WebObjectsライブラリ Project Wonder サンプルズ#6 ERXFrameworkPrincipal

WebObjectsのオープンソースフレームワークProject Wonder
ERExtensions.frameworkに含まれる
er.extensions.ERXFrameworkPrincipalクラスを使うと、
アプリケーションのソースを変更する事無く、
フレームワーク固有の処理をアプリケーション実行時に行えるようになります。


使い方は、

アプリケーションで使用するフレームワークにer.extensions.ERXFrameworkPrincipalクラスを継承したクラスを用意する。
ERXFrameworkPrincipalクラスのfinishInitialization()メソッドが抽象メソッドとして宣言されているので、このメソッドを実装する必要があります。

次に、このERXFrameworkPrincipalクラスを継承したクラスを
アプリケーションで使用するフレームワークのInfo.plistのNSPrincipalClassに指定します。

WebObjects ERXFrameworkPrincipal Info.plistエントリ
xcodeの場合は、このようにInfo.plistに、NSPrincipalClassのエントリを追加します。
クラス名はフレームワーク名と同じにする事が多いそうな。


これで、アプリケーションの起動時に指定したERXFrameworkPrincipalクラスのサブクラスのfinishInitialization()メソッドが呼び出されるようになります。




以下、サンプルソースです。


package ERXFrameworkPrincipal;
import er.extensions.*;

/**
* er.extensions.ERXFrameworkPrincipalクラスのサンプルコードです。
*/
public class ERXFrameworkPrincipalSample
extends ERXFrameworkPrincipal {

/**
* 本クラスを生成します。
*/
public ERXFrameworkPrincipalSample() {
super();
// finishInitialization()メソッドとは呼ばれるタイミングが
// かなり違うことに注意してください。
System.out.println("generate ERXFrameworkPrincipalSample instance");
}

// 下のコードが無いとfinishInitialization()メソッドが
// 呼び出されません。
static {
setUpFrameworkPrincipalClass(ERXFrameworkPrincipalSample.class);
}

/**
* このメソッドがアプリケーション実行時に
* 呼び出されます。
* このメソッドにフレームワーク特有の処理を記述します。
*/
public void finishInitialization() {
System.out.println("call ERXFrameworkPrincipalSample " +
"finishInitialization()");
// Put your framework initialization code here
}
}





短いですが、今回は以上です。

今回使用したサンプルのソース。
ERXFrameworkPrincipalSample.tar.bz2



posted by 小見 拓 at 00:35| Comment(0) | TrackBack(0) | Project Wonder | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
記事検索
 
カテゴリ
最近のコメント
QKCのインストール [3-4/18]
 ⇒ kova (05/23)
calendar.vimには日記をつける機能があったらしい。
 ⇒ とまと (03/07)
最近よく見るようになったvimスクリプトのコメントの書き方
 ⇒ 小見 拓 (02/13)
 ⇒ kana (02/11)
vimエディタ ヘルプのgrep
 ⇒ みかん (07/15)
指定したカラム位置にテキストを流し込む (vimエディタ)
 ⇒ こみ (03/20)
 ⇒ とおりすがり (03/19)
 ⇒ こみ (03/18)
 ⇒ takayama (03/18)
tempfile -- Generate temporary files (Mac OSX)
 ⇒ take3 (01/20)
 ⇒ こみ (01/19)
 ⇒ take3 (01/18)
 ⇒ こみ (01/17)
 ⇒ take3 (01/14)
WebObjectsのオープンソースプロジェクト Project Wonderってなんじゃろな。#2
 ⇒ (06/30)
 ⇒ Tetsuya Kuramochi (06/29)
 ⇒ Tetsuya Kuramochi (06/29)
WebObjectsのオープンソースプロジェクト Project Wonderってなんじゃろな。#1
 ⇒ (06/03)
 ⇒ Tetsuya Kuramochi (06/02)
最近のトラックバック
vimエディタで「文字コード、改行コードを変更して保存する。」
 ⇒ window.closed (04/25)
 ⇒ himesuke’s STEP-log (03/18)
 ⇒ PukiWiki/TrackBack 0.2 (05/07)
vimエディタの折りたたみ機能の話。その2 (foldmethod=syntax)
 ⇒ 俺の基地 (PukiWiki/TrackBack 0.3) (04/20)
ログファイルを監視して、特定のキーワードが見つかったら、何らかのコマンドを実行する。
 ⇒ Apple Fan (10/16)
ファイル保存ダイアログの初期ディレクトリについての話 (vimエディタ話)
 ⇒ ナレッジエース (07/23)
:e <C-x> (編集中のファイルと同じディレクトリにあるファイルを開く。)
 ⇒ ボクノス (02/07)
Opening many files using wildcards.
 ⇒ PukiWiki Plus! (PukiWiki/TrackBack 0.4) (10/28)
 ⇒ 川o・-・)<2nd life (07/18)
vimエディタで印刷自由自在 その8 -エディタからの直接の印刷の代わりに、2html.vimスクリプトを使用する-
 ⇒ Knoppix Temporary Directory (PukiWiki/TrackBack 0.3) (02/19)
検索でマッチした対象に対して、置換を行う。(vimエディタ話)
 ⇒ 123net :: 開発日記 (12/31)
ごみ箱にファイルを叩き込むスクリプト。(vimエディタ)
 ⇒ "OSX" .app's :Macのアプリを便利、感動、面白をベースにほぼ日刊で紹介。 (11/26)
パーセント、%、percent でのカーソル移動 (vimエディタ話)
 ⇒ プログラミング言語 (10/11)
過去ログ
Profile
小見 拓
mail@nanasi.jp
小見と申します。
神奈川でデベロッパーやってます。
名無しのVIM使い

RSS 1.0


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。