将嵌套键表示为Java中的类

时间:2018-10-21 13:15:42

标签: java

我有一个包含简单且嵌套键的文档。

简单键如下所示:

cass SimpleKey {
   String name;
   String val;
}

这样的嵌套键:

cass NestedKey {
   String name;
   List<NestedKey> val;
}

因此,简单键仅包含nameval,嵌套键name和任意数量的简单键或嵌套键。

我遇到的问题是我需要将嵌套键和简单键都放在同一列表中。

因此,我做了SimpleKey extends NestedKey,并在需要时将NestedKey转换为SimpleKey

但是,这确实很奇怪-SimpleKey不能扩展NestedKey。代表这一点的最好方法是什么?

我研究了Composite模式,但是我需要能够遍历NestedKey实例(和SimpleKey)的列表以及访问字段,并且如果我给它们提供了公共接口或父对象类,这意味着每次我想访问nameval字段时都需要转换列表元素,对吗?因此,现在进行更多投射。

编辑

我需要打开它:

simplekey val
this.is.a.nested.key val

对此:

simple val
this
  is
   a
    nested
      key val (<-- looks like a simple key)

0 个答案:

没有答案