0

CMIS を使用すると、オブジェクトにプロパティを追加できます。プロパティは、1 つの値を持つことも、複数値のプロパティにすることもできます。多数のオブジェクトに複数値のプロパティがある場合、このプロパティを持ち、プロパティに特定の値または複数の特定の値が含まれるすべてのオブジェクトをどのように検索しますか?

例えば。(ここからの例)

CmisObject cmisobject = ....

Map<String, Object> updateProperties = new HashMap<String, Object>();

List<String> shoppingList = new ArrayList<String>();
shoppingList.add("milk");
shoppingList.add("bread");
shoppingList.add("cheese");
updateProperties.put("my:shopping.list", shoppingList); // multi-value property

cmisobject.updateProperties(updateProperties);

ここで、プロパティmy:shopping.listを持ち、そのプロパティに値breadまたは値milk AND Cheeseが含まれるすべてのオブジェクトに対してクエリを実行したい場合、どうすればよいでしょうか?

4

1 に答える 1

0

これを試して:

boolean isPropertyPresent(Map<String, Object> updateProperties) {//should use List<String> instead of Object
    List<String> shoppingList = (List<String>) updateProperties.get("my:shopping.list");
    if (shoppingList != null) {
         return shoppingList.contains("bread") || (shoppingList.contains("milk") && shoppingList.contains("cheese"));
    }
    return false;
}
于 2014-11-02T15:07:22.953 に答える