我应该使用哪种基于JVM的语言将一种类型映射到另一种类型?

时间:2011-08-16 16:06:08

标签: java type-conversion jvm-languages hapi

我目前正在使用Java来编写一个在两个应用程序之间执行EAI的程序。一个应用程序附带HL7,我用HAPI解析。所以我得到了一个Java对象结构。我想将这个结构转换为我自己的结构,我想用它来做一些其他工作后用JAXB生成XML文件。

在我看来,我目前的解决方案并不是很好,因为源代码变得非常复杂:

public NaturalPerson convertPID(PID pid) {
    NaturalPerson person = new NaturalPerson();
    NameNaturalPerson personsname = new NameNaturalPerson();
    name.setFamilyName(pid.getPatientName().getFamilyName().getValue());
    ...
}

哪种语言是适合这种类型映射的语言? (http://en.wikipedia.org/wiki/List_of_JVM_languages) 我认为Java并不是最好的语言。我没有太多时间学习,所以我需要一种易于学习并且学习开始度较低的语言。我已经在函数式语言Haskell和F#方面有一些经验。首先,我认为Groovy是一门优秀的语言,但后来我发现了Scala的其他意见。

您建议使用哪种语言进行此类型映射?

2 个答案:

答案 0 :(得分:2)

你看过Dozer了吗?它是一个Java库,可以递归地将数据从一个Java对象复制到另一个Java对象。有几种方法可以配置映射:

  • XML
  • 提供DSL的Java API
  • Java注释

答案 1 :(得分:1)

使用Clojure

在JVM上处理地图和向量处理形式的数据

查看所有核心功能available以及此SO Question,了解哪些教程可以很好地学习Clojure。