kostaskougios/cloning

Handling primitive values as part of object cloning

Opened this issue · 0 comments

eladh commented

Hi @kostaskougios

as part of our object graph we got an inner element that contains primitive members that if the custom cloning strategy return NULL_INSTEAD_OF_CLONE.

we getting

java.lang.IllegalArgumentException: Can not set int field com.idi.pearl.framework.cloning.domain.C.x to null value

	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167)
	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171)
	at sun.reflect.UnsafeIntegerFieldAccessorImpl.set(UnsafeIntegerFieldAccessorImpl.java:80)
	at java.lang.reflect.Field.set(Field.java:758)
	at com.rits.cloning.Cloner.cloneObject(Cloner.java:460)
	at com.rits.cloning.Cloner.cloneInternal(Cloner.java:442)
	at com.rits.cloning.Cloner.deepClone(Cloner.java:312)

this issue can be supported via custom cloning strategy transformer or a dedicated primitives support ,
for example the NULL_INSTEAD_OF_CLONE for int will be = ??

best,
elad