Dobry den,
dozer by Vam nestacil?
http://dozer.sourceforge.net/
http://dozer.sourceforge.net/documentation/deepmapping.html
SouceObject clone = mapper.map(sourceObject, SouceObject.class)
PP
On Tue 19 Jul 2011 11:53:41 AM CEST, Libor Jelinek wrote:
Dobrý den,
chtěl bych vytvořit hlubokou kopii instance, ale nechci pro každou
kódovat ručně složitě hluboké kopírování - hlavně vypisovat všechny
property ručně a pak stejně na něco zapomenout. A přededně nevím ani
jaké objekty obdržím. Jsou to např. JPA entity o kterých předem nevím.
Vždyť by deep klonování asi šlo provést pomocí Reflection API. Existuje
nějaká knihovna, která to již řeší?
<flamewar>Krom toho mi to přijde jako příklad inovace, která v Javě
mohla být už roky. Nejspíš pomocí nějaké anotace @DeepCloneable... A
ještě by to chtělo do Javy přidat nějaké @Immutable jako má Groovy, aby
to chudák programátor znova nemusel hlídat sám.</flamewar>
Nechci odkazy z Googlu (to jsem uz zkusil a cosi existuje), ani tipy
přes de/serializaci jaké jsem též našel. Obojí je příliš pracné a
"error-prone"... Ale spíš váš názor a vaší zkušenost, jestli něco
používáte sami či jak to řešíte Vy.
Díky
Libor
PS: Prosím přednostně o reakce na otázku samotnou. A potom, jak je Java
špatná a jazyk XYZ lepší (a tomto asi vážně bude) :-)