スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ローカルアクセスアプリケーション: Runnable インターフェースの継承

2009年07月10日 00:02

なんかおかしいな、と思ってたら水曜日にこの記事をアップし忘れていたようです。
ちょっとネタ切れっぽかったのでちょうどよかったところもありますが。。

ローカルアクセスアプリケーションの最後のサンプルは、Runnable インターフェースを実装する方法で書くサンプルです。
 前の例との違いをよく確認してください。

NABTest1.java
import lotus.domino.* ;
public class NABTest1 implements Runnable{
// server name
static String domsrv = "ServerName/Org";
// database (e.g. mail\\hnagashi.nsf)
static String dbname = "names.nsf";


public static void main(String args[]){
NABTest1 t = new NABTest1();
NotesThread nt = new NotesThread((Runnable)t);
nt.start();
}
public void run(){
try{
Session s = NotesFactory.createSession() ;
//Session s = NotesFactory.createSessionWithFullAccess();
Database db = s.getDatabase(domsrv, dbname );
if(!db.isOpen()){ db.open();
} String title = db.getTitle();
String uname = s.getUserName();
System.out.println("UserName: " + uname );
System.out.println("ServerName: " + db.getServer());
System.out.println("Title: " + title);
}catch(NotesException ne){ System.out.println(ne.id + ne.text);
ne.printStackTrace() ;
}catch (Exception e){e.printStackTrace() ;
}
}
}


extends が implements になったのと runNotes() が run() になったところ以外は目新しいところも無いと思うのですが、それでOKです。このような例はJavaが多重継承を許可していないので、色々なクラスを継承したい場合にはどれかをインターフェースにして、キーとなるメソッドを実装していく形にする必要があるためです。(この辺の説明はあんまり自信ないのですが、合っているでしょうか?)

実際に必要になったときに何も知らない状態で1から書くのは面倒だと思うので、そんなときにちょっと思い出して参考にしてもらえればと思います。


ちなみにコンパイル用のバッチファイルは以下の通りです。
例によってC:\MyJava にサンプルコードを置く事を前提にしています。

compile.bat
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_11\bin
set PATH=%JAVA_HOME%;%PATH%
set CLASSPATH=C:\lotus\Notes\jvm\lib\ext\Notes.jar;C:\myjava
javac -target 1.5 NABTest1.java

run.bat
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_11\bin
set PATH=%JAVA_HOME%;%PATH%
set CLASSPATH=C:\lotus\Notes\jvm\lib\ext\Notes.jar;C:\myjava
java NABTest1




コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://hnagasim.blog8.fc2.com/tb.php/187-b88f6fd9
    この記事へのトラックバック


    最新記事


    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。