从Document获取Lotus Notes数据

时间:2011-06-17 18:50:12

标签: java lotus-notes lotus

我在我的Lotus notes(8.5.2)版本中使用本地数据库,我正在尝试获取两件事的数据:

  1. NotesUIView
  2. 中突出显示的文档/项目
  3. NotesUIDocument
  4. 中选择的文件

    但是,我得到的只是Notes网址,我不知道我应该怎么做。任何人都可以帮我/给我一个面包屑吗?

    P.S。是的我正在使用Java API for Eclipse。

    以下是我所做的代码示例:

    NotesUIWorkspace workSpace = new NotesUIWorkspace();
    NotesUIElement currentElement = workSpace.getCurrentElement();
    
    if (currentElement instanceof NotesUIView) {
        NotesUIView currentView = (NotesUIView) currentElement;
        NotesUIViewEntryCollection collection = currentView
                .getActionableEntries();
        Iterator docIterator = collection.documentIterator();
        while (docIterator.hasNext()) {
            NotesUIDocumentEntry entry = (NotesUIDocumentEntry) docIterator.next();
            //I can't seem to get to the NoesUIDocument case like I can below... I want fields!
        }
    }
    
    if(currentElement instanceof NotesUIDocument){
        NotesUIDocument document = (NotesUIDocument) currentElement;
        //Seem to be able to get the correct data fields only in this case!
        document.getFields();
    }
    

2 个答案:

答案 0 :(得分:2)

通常通过NotesAgentContext UnprocessedDocuments获取“当前”文档。在视图中,如果用户勾选了多个文档,则可能会返回一组文档。

如果您已经拥有NotesUIView,NotesUIViewgetActionableEntries将为您提供所选文档。

当您拥有NotesDocumentData个实例时,可以使用NotesUIWorkspace.openDocument在编辑模式下将其打开。然后,NotesUIWorkspace.getCurrentDocument可用于获取UI文档。

请注意,如果您只想从文档中读取值,则使用Document等后端类会更方便。

答案 1 :(得分:0)

您是否以网址为例?如果它包含有问题文档的UUID,那么您应该能够使用getDocument()直接引用它。否则,URL应该包含该视图的视图引用和查找键。