2012-04-25 3 views
0

Моя запись представлена ​​простым текстом. Например: -Каков наилучший способ сопоставить запись в одном формате с другим?

//Record in format A 
Header|meta.1|meta.2|... 
body|data.1|data.2|... 

//Now I want to convert it to record in format B 
Meta=[meta.1, meta.2] 
Content=[data.1, data.2] 
Summary=[{meta.1, data.1}, {meta.2, data.2}] 
//condition is possible 
type=if meta.1==TYPE1 then T1 

Вышеуказанные форматы только для экземпляра. Я прошу дать общее представление об обложке записей между различными форматами.

Я знаю, что могу сначала проанализировать запись в первом формате и сохранить результат где-нибудь, а затем заполнить запись во втором формате на Java.

Но я ищу лучший способ, который более удобен в обслуживании, масштабируемости и надежности. Можно ли написать все правила сопоставления в файлах конфигурации/шаблона, а когда я его использую, просто введите данные и получите результат. Когда изменение меняется, единственное, что мне нужно сделать, это изменить соответствующий файл конфигурации/шаблона.

Любая идея приветствуется. Спасибо ..

+1

Да, возможно использование файлов сопоставления. У них есть расширение .java/.class, и правила выглядят как выражения Java. :) - Серьезно, вам, возможно, придется сделать некоторое кодирование, так как вы не только изменяете формат одной записи, но и группируете части записей и т. Д., И я сомневаюсь, что есть библиотека, которая может сделать это очень общим способом с помощью только набора правил. - Если есть такая библиотека, для этого потребуется какой-то язык программирования (более конкретный DSL), и тогда вы уже не так далеки от Java. Однако вы можете попытаться использовать интерпретируемый язык JVM, например Scala, вместо Java. – Thomas

+0

Это смешно. :) Спасибо за ответ. –

ответ

Смежные вопросы