JAVA/CORBA クラス
例:データベースを開く
1.
次のエージェントは、ローカルなデータベースを開いてそのタイトルを出力します。ユーザーは、エージェントのコメントとしてデータベースファイル名を指定します。その際、拡張子 .NSF は必要ありません。
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext =
session.getAgentContext();
// (Your code goes here)
Agent agent = agentContext.getCurrentAgent();
DbDirectory dir = session.getDbDirectory(null);
Database db = dir.openDatabase(agent.getComment());
if (db == null) System.out.println(
"Database open failed");
else System.out.println("Title:\t\t" +
db.getTitle());
} catch(NotesException e) {
if (e.id + NotesError.NOTES_MIN_ERROR_CODE ==
NotesError.NOTES_ERR_NOTAFILE)
System.out.println("No such database");
else {
System.out.println(e.id + " " + e.text);
e.printStackTrace(); }
} catch(Exception e) {
e.printStackTrace();
}
}
}
2. 次のエージェントは、現在のデータベースを開きます。
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext =
session.getAgentContext();
// (Your code goes here)
Database db = agentContext.getCurrentDatabase();
System.out.println
("Title:\t\t" + db.getTitle());
System.out.println
("File name:\t" + db.getFileName());
String msg = "closed";
if (db.isOpen()) msg = "open";
System.out.println("Database is " + msg);
} catch(Exception e) {
e.printStackTrace();
}
}
}
3. 次のエージェントは、getFirstDatabase によって返されるデータベースが、open メソッドで開かれるまで閉じられていることを示します。
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext =
session.getAgentContext();
// (Your code goes here)
DbDirectory dir = session.getDbDirectory(null);
Database db = dir.getFirstDatabase(
DbDirectory.DATABASE);
if (db.isOpen()) System.out.println("Is open");
else System.out.println("Is closed");
db.open();
if (db.isOpen()) System.out.println("Is open");
else System.out.println("Is closed");
} catch(Exception e) {
e.printStackTrace();
}
}
}
4. 次のエージェントは、ローカルのデータベースを検索し、エージェントのコメントに指定されたタイトルのデータベースを開きます。
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext =
session.getAgentContext();
// (Your code goes here)
Agent agent = agentContext.getCurrentAgent();
DbDirectory dir = session.getDbDirectory(null);
Database tmpdb;
Database db = dir.getFirstDatabase(
DbDirectory.DATABASE);
while (db != null) {
if (db.getTitle() != null)
if (db.getTitle().equalsIgnoreCase(
agent.getComment())) {
db.open();
DocumentCollection dc = db.getAllDocuments();
Document tmpdoc;
Document doc = dc.getFirstDocument();
while (doc != null) {
System.out.println(doc.getItemValueString("Subject"));
tmpdoc = dc.getNextDocument();
doc.reycle;
doc = tmpdoc; }
break; }
tmpdb = dir.getNextDatabase();
db.recycle();
db = tmpdb; }
} catch(Exception e) {
e.printStackTrace();
}
}
}
5. 次のエージェントは、ユーザーのメールデータベースを開きます。
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext =
session.getAgentContext();
// (Your code goes here)
DbDirectory dir = session.getDbDirectory(null);
Database db = dir.openMailDatabase();
System.out.println("File name:\t" +
db.getFileName());
String msg = "closed";
if (db.isOpen()) msg = "open";
System.out.println("Database is " + msg);
} catch(Exception e) {
e.printStackTrace();
}
}
}
6. 次のエージェントは、現在のデータベースと同じレプリカ ID を持つサーバー NotesUA1 上のデータベースを開きます。
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext =
session.getAgentContext();
// (Your code goes here)
DbDirectory dir = session.getDbDirectory(
"NotesUA1");
Database dbLocal =
agentContext.getCurrentDatabase();
Database dbRemote =
dir.openDatabaseByReplicaID
(dbLocal.getReplicaID());
System.out.println
("Title:\t\t" + dbRemote.getTitle());
System.out.println
("Server:\t\t" + dbRemote.getServer());
System.out.println
("File path:\t\t" + dbRemote.getFilePath());
String msg = "closed";
if (dbRemote.isOpen()) msg = "open";
System.out.println("Database is " + msg);
} catch(Exception e) {
e.printStackTrace();
}
}
}
用語集
フィードバック
ヘルプ
または
プロダクトユーザビリティ
ヘルプの使い方
すべてのヘルプ項目
用語集