1

我想将裸地图保留到顶点属性。动机是我事先不知道地图将包含哪些属性。每个属性存储一个顶点似乎并不有效。我该怎么做?

interface Foo {
    @Properties...?
    Map<String,String> getProperties();

    @Properties
    Map<String,String> addProperty();
}

也许通过方法处理程序。如何?是否有任何原生支持?

4

1 回答 1

1

我已经使用处理程序添加了对它的支持。请参阅 Windup 项目。 https://github.com/windup/windup/pull/157

这就是它在模型中的外观。

这个使用前缀将地图存储在给定框架顶点的道具中map:

@TypeValue("MapInAdjPropsModelMain")
public interface MapMainModel extends WindupVertexFrame
{
    @InProperties(propPrefix = "map") void setMap(Map<String, String> map);

    @InProperties(propPrefix = "map") Map<String, String> getMap();
}

而这个将地图存储在相邻的顶点中,因此可以存储多个地图:

@TypeValue("MapInAdjPropsModelMain")
public interface MapMainModel extends WindupVertexFrame
{
    @InAdjacentProperties(edgeLabel = "map")
    void setMap(Map<String, String> map);

    @InAdjacentProperties(edgeLabel = "map")
    Map<String, String> getMap();

    @InAdjacentProperties(edgeLabel = "map2")
    void setMap2(Map<String, String> map);

    @InAdjacentProperties(edgeLabel = "map2")
    Map<String, String> getMap2();
}
于 2014-07-28T02:52:55.313 回答