Notes的物件體系中,Database下的Document和Agent地位是並排的,DocumentCollection只是個介於Database與Document的集合,算不上一個層次。我推測發Mail的動作何以那麼複雜,係因為發Mail的動作是一支Agent程式,而Mail內容則是Document物件,兼具了Agent、Document性質。因為執行一般的Agent,根本不用繼承AgentBase,直接這樣寫就行:
public static void main(String[] args) throws Exception { |
根據上述程式看,直接使用NotesFactory去建立Session就行。但還有一個弔詭之處,就是Database物件的getAgent方法無法取得想要的Agent,反而要用getAgents依次取得每個Agent,對它的name進行比對,在Lotus Notes物件建立方式是:物件名稱 | 物件別名。中間弄個中線區隔,而key是物件別名,可是即時用getAgent傳的是物件名稱或是全名(如上頭藍字),依然無法取得Agent的instance來Run,著實詭異。