Coverage Summary for Class: ObjectExtKt (ru.eda.plgn.bizgen.plugin)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| ObjectExtKt |
100%
(1/1)
|
100%
(1/1)
|
|
100%
(2/2)
|
100%
(16/16)
|
package ru.eda.plgn.bizgen.plugin
import com.google.gson.Gson
/**
* Метод клонирование объекта через Json.
*
* Обеспечивает глубокое клонирование.
*
* @param T тип клонируемого объекта
* @return копия исходного объекта с новыми ссылками
*/
fun <T : Any> T.deepCopyByJson(): T {
val sourceJson = Gson().toJson(this)
return Gson().fromJson(sourceJson, this::class.java)
}