Отображение классов Scala, как Orika

Начало работы со Scala и поиск модулей Orika, но для Scala. В Orika можно создавать собственные построители свойств, но для таких вещей, как кейсы с полями значений, мне нужно было бы (в Scala 2.10+) рефлексивные поля (зеркалирование) для установки неизменяемых. Предполагая, что есть собственный подход с модулем Scala?


person Matthew Campbell    schedule 19.08.2013    source источник


Ответы (1)


Я знаю, что Orika имеет гораздо больше возможностей, но если вы просто хотите создать копию экземпляра в новый экземпляр и изменить некоторые атрибуты нового экземпляра, scala имеет для этого встроенную функцию. Используйте case classes, и вы можете использовать метод copy для создания новых экземпляров.

case class Bird(name: String, color: String)

scala> val chicken = Bird("twitty", "yellow")
chicken: Bird = Bird(twitty,yellow)

scala> val coq = chicken.copy(color = "red")
coq: Bird = Bird(twitty,red)
person Teja Kantamneni    schedule 19.08.2013
comment
Спасибо, но ищете что-то более богатое, чем просто классы случаев. Плюс собирается разбить один класс на набор других классов. - person Matthew Campbell; 19.08.2013