gpt4 book ai didi

java - 以编程方式检查 domino 文档中的字段是文本还是文本列表 - 可能吗?

转载 作者:行者123 更新时间:2023-12-02 10:34:09 24 4
gpt4 key购买 nike

我正在尝试实现一种方法,用文档中的所有值替换 HashMap 中的所有值。

其背后的想法是,我循环遍历从 Document.getItems() 获取的所有 items 并简单地使用 Item.getType() 方法,以便我可以决定对哪个字段使用什么类型。

类似的事情:

private void replace(SomeClass model, Document document) {
Map<String, Object> objectsMap = model.getObjectsMap();

Vector<Item> items = document.getItems();

for(Item item : items) {
if(item.getType() == Item.TEXT) {
model.add(item.getName(), item.getValueString()); // model.add(...) is basically a Map.put(String key, Object value);
} else if(item.getType() == Item.AUTHORS) {
// ...
} else if(/*...*/) {
// ...
}
}
}

现在我的问题是我无法区分 TextTextList 因为 getType() 两者都返回 1280。

有没有人已经尝试过类似的方法,或者可以给我提示什么方法可能是解决方法?

编辑

关于其中一条评论的想法,当 item.getValues().size() > 1Text 时使用 TextList > 否则:正如评论中提到的,问题是,我也希望稍后能够使用该字段。

例如:如果我有一个 TextList 字段,其中包含文档中的一项,并且我将使用上述方法,我会在该字段的 Map 内放置一个字符串。如果我想向此字段添加更多项目(它应该是一个 Vector,因为最初它是一个 TextList)我将无法 - 至少不能在直接的方式。

最佳答案

NotesItems 始终返回值的 vector 。 text 和textList 之间没有区别。但是您可以做什么:获取表单对象并检查字段属性。如果勾选允许多值,那么您可以假设它是文本列表而不是文本。这应该可以解决您的转换决定。您还可以标记具有多个值但不允许在字段中设置多值的项目 - 代码就可以做到这一点

关于java - 以编程方式检查 domino 文档中的字段是文本还是文本列表 - 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53413692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com