次のエージェントはマルチパートエンティティの最初の、または唯一の分岐の最後にある子を取得します。
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// (Your code goes here)
// Do not convert MIME to rich text
session.setConvertMIME(false);
DocumentCollection dc = agentContext.getUnprocessedDocuments();
Document doc = dc.getFirstDocument();
while (doc != null) {
MIMEEntity mime = doc.getMIMEEntity();
if (mime != null) {
// Drill down to end child of first branch
MIMEEntity child = mime.getFirstChildEntity();
while (child != null) {
mime = child;
child = mime.getFirstChildEntity();
}
if (mime.getContentType().equals("text") &&
mime.getContentSubType().equals("plain")) {
Stream stream = session.createStream();
String pathname = "c:¥¥lotus¥¥notes¥¥data¥¥temp.txt";
if (stream.open(pathname, "us-ascii")) {
mime.getContentAsText(stream);
}
else System.out.println
("Can't open c:¥¥lotus¥¥notes¥¥data¥¥temp.txt");
}
else System.out.println("Not plain text");
}
else
{
System.out.println
("Not MIME - " + doc.getItemValueString("Subject"));
}
doc = dc.getNextDocument(doc);
}
// Restore conversion
session.setConvertMIME(true);
} catch(Exception e) {
e.printStackTrace();
}
}
}