将arrayList设置为jcr节点的属性?

时间:2015-08-13 19:54:12

标签: java properties nodes jcr

有什么方法可以将arraylist设置为jcr节点的属性?有人想出一个更好的替代方案吗?理想情况下它看起来像node.setProperty("name", arrayList<someClass>),但是eclipse并不喜欢将数组转换为值(有意义)。有什么想法吗?有人不得不在此之前搞清楚吗?

1 个答案:

答案 0 :(得分:0)

您将列表转换/序列化为String[]并使用

setProperty(String name, String[] values)

您可以创建一个util类来读取/编写各种集合到节点,例如

public <T> void setProperty(Node node, String property, Collection<T> things) 
    throws RepositoryException {

    String[] strings = new String[things.size()];
    int idx = 0;
    for (T thing : things) {
        strings[idx++] = thing.toString();
    }

    node.setProperty(property, strings);
}