Какой язык на основе JVM мне следует использовать для отображения одного типа на другой? - PullRequest
2 голосов
/ 16 августа 2011

В настоящее время я работаю с Java, чтобы написать программу, которая выполняет EAI между двумя приложениями. Одно приложение поставляется с HL7, который я анализирую с HAPI. Итак, я получаю структуру объекта Java. Я хочу преобразовать эту структуру в свою собственную структуру, которую я хочу использовать для генерации XML-файлов с помощью JAXB после выполнения некоторой другой работы.

На мой взгляд, мое текущее решение не очень хорошее, потому что исходный код становится очень сложным:

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 ]

2 голосов
/ 16 августа 2011

Вы смотрели на Бульдозер ? Это библиотека Java, которая рекурсивно копирует данные из одного объекта Java в другой. Есть несколько способов настроить отображение:

  • XML
  • Java API, предоставляющий DSL
  • Java-аннотации
1 голос
/ 17 августа 2011

Данные в формах обработки карт и векторов великолепно обрабатываются в JVM с использованием Clojure

См. Все основные функции доступны и этот SO Вопрос на каких уроках полезно учить Clojure.

...