Caros amigos,
Recebo como parâmetro um objeto e preciso fazer uma cópia deste. Como não sei se o objeto implementa a interface Clonable não posso fazer um clone. Também não sei que tipo de objeto vou receber.
Agradeço muitíssimo as sugestões!
Reimer
Caros amigos,
Recebo como parâmetro um objeto e preciso fazer uma cópia deste. Como não sei se o objeto implementa a interface Clonable não posso fazer um clone. Também não sei que tipo de objeto vou receber.
Agradeço muitíssimo as sugestões!
Reimer
Voce pode ao menos forcar que ele seja Serializable?
Rola serializar pra um ByteArrayOutputStream e pegar de volta, que eh um truque conhecido como deep-cloning.
Poderia até usar serialização… mas não tenho acesso aos fontes das classes caso eventualmente precise implementar a serialização.
Trata-se de um framework que poderá receber qualquer tipo de objeto e não gostaria de colocar este pre-requisito, no caso que a classe deva ser serializavel.
Será que não poderia fazer através da api de reflexão?
Criar um segundo objeto e ler o conteúdo de todos os atributos do objeto através de reflexão?
Não existe forma segura de fazer isso.
Com reflection você vai ter problema caso o objeto não tenha um construtor vazio e se algum valor interno não puder ser simplemente copiado.
Arrume o erro conceitual do teu framework que vai ser melhor.