Object cloner
clone.RdGeneric function to clone objects
Methods
- clone
signature(x = "jobjRef"): clone a java object reference (must implement Cloneable)- clone
signature(x = "jarrayRef"): clone a java rugged array (not yet implemented)- clone
signature(x = "jrectRef"): clone a java rectangular array (not yet implemented)
Warning
The implementation of clone for java object references uses the clone method of the Object class. The reading of its description in the java help page is strongly recommended.
Examples
#> Error in .jcheck(): java.lang.NoClassDefFoundError: RJavaArrayTools.jcall("java/lang/System", "S", "getProperty", "java.class.path")new("jobjRef", jobj = <pointer: 0x590bf6a99902>, jclass = "java/lang/NoClassDefFoundError")
p1 <- .jnew("java/awt/Point" )
p2 <- clone( p1 )
#> Error in .jcall("RJavaArrayTools", "Ljava/lang/Object;", "cloneObject", .jcast(x)): RcallMethod: cannot determine object class
p2$move( 10L, 10L )
#> Error: object 'p2' not found
p1$getX()
#> Error in .jcheck(): java.lang.NoClassDefFoundError: RJavaArrayTools.jcall("RJavaTools", "Z", "hasField", .jcast(x, "java/lang/Object"), name)new("jobjRef", jobj = <pointer: 0x590bf6a99912>, jclass = "java/lang/NoClassDefFoundError")
# check that p1 and p2 are not references to the same java object
stopifnot( p1$getX() == 0 )
#> Error in .jcall("RJavaTools", "Z", "hasField", .jcast(x, "java/lang/Object"), name): RcallMethod: cannot determine object class
stopifnot( p2$getX() == 10 )
#> Error: object 'p2' not found