JAVA/CORBA クラス


例:createNavigator メソッド
次のエージェントは、選択された文書の Body アイテム内の要素数を型ごとに表示します。

import lotus.domino.*;

public class JavaAgent extends AgentBase {

public void NotesMain() {

try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();

// (Your code goes here)
// Open file - proceed only if file can be opened
String filename = "c:\\lotus\\notesv6\\notes.ini";
Stream stream = session.createStream();
DocumentCollection dc = agentContext.getUnprocessedDocuments();
Document doc = dc.getFirstDocument();
RichTextItem rti = (RichTextItem)doc.getFirstItem("Body");
RichTextNavigator rtnav = rti.createNavigator();
System.out.println("Number of doc links = " +
getCount(RichTextItem.RTELEM_TYPE_DOCLINK, rtnav));
System.out.println("Number of file attachments = " +
getCount(RichTextItem.RTELEM_TYPE_FILEATTACHMENT, rtnav));
System.out.println("Number of OLE objects = " +
getCount(RichTextItem.RTELEM_TYPE_OLE, rtnav));
System.out.println("Number of sections = " +
getCount(RichTextItem.RTELEM_TYPE_SECTION, rtnav));
System.out.println("Number of tables = " +
getCount(RichTextItem.RTELEM_TYPE_TABLE, rtnav));
System.out.println("Number of table cells = " +
getCount(RichTextItem.RTELEM_TYPE_TABLECELL, rtnav));
System.out.println("Number of text paragraphs = " +
getCount(RichTextItem.RTELEM_TYPE_TEXTPARAGRAPH, rtnav));
System.out.println("Number of text runs = " +
getCount(RichTextItem.RTELEM_TYPE_TEXTRUN, rtnav));

} catch(Exception e) {
e.printStackTrace();
}
}

int getCount(int elementType, RichTextNavigator rtnav) {
int n = 0;
try {
if (rtnav.findFirstElement(elementType)) {
do {
n++; }
while (rtnav.findNextElement(elementType));
}
} catch(Exception e) {
e.printStackTrace(); }
return n;
}

}



関連項目