代码之家  ›  专栏  ›  技术社区  ›  condit

带有Frame注释的多值财产

  •  1
  • condit  · 技术社区  · 11 年前

    我正试图找出如何使用修补框架API支持多值财产。我有一个这样的界面:

    interface Node {
    
      @Property("synonyms")
      public Iterable<String> getSynonyms();
    
      @Property("synonyms")
      public void addSynonym(String synonyms);
    
    }
    

    这个 addSynonym 调用不会抛出任何异常,但 getSynonyms alyways回报 null 。我也试过切换 Iterable Collection 没有变化。

    框架支持多值财产吗?

    1 回复  |  直到 11 年前
        1
  •  3
  •   Bryn    11 年前

    @Frames中的属性不支持集合语义,因为Tinkerpop2.x不允许这样做。它只是获取或设置基础元素的属性。

    @Property支持的方法前缀有get、is、can、set和remove https://github.com/tinkerpop/frames/wiki/Core-Annotations

    您可以编写自己的方法处理程序来支持这一点: https://github.com/tinkerpop/frames/wiki/Method-Handlers