JavaAccess

0th

Percentile

Field/method operator for Java objects

The $ operator for jobjRef Java object references provides convenience access to object attributes and calling Java methods.

Keywords
interface
Details

rJava provies two levels of API: low-level JNI-API in the form of .jcall function and high-level reflection API based on the $ operator. The former is very fast, but inflexible. The latter is a convenient way to use Java-like programming at the cost of performance. The reflection API is build around the $ operator on jobjRef-class objects that allows to access Java attributes and call object methods.

$.jobjRef returns either the value of the attribute or calls a method, depending on which name matches first.

$<-.jobjRef assigns a value to the corresponding Java attribute.

This is just a convenience API. Internally all calls are mapped into .jcall calls, therefore the calling conventions and returning objects use the smae rules. For time-critical Java calls .jcall should be used directly.

NOTE: This interface is still very experimental! Some type conversions may not work or it may fail to find the method you want. You may need to use .jcall, consult .jmethods, .jfields and possibly apply .jcast in such cases. If it is a general problem, please report such issues whith a small reproducible example.

See Also

.jcall, .jnew, jobjRef-class

Aliases
  • $.jobjRef
  • $<-.jobjRef
  • $.jarrayRef
  • $<-.jarrayRef
Examples
v <- .jnew("java/lang/String","Hello World!")
v$length()
v$indexOf("World")
Documentation reproduced from package rJava, version 0.4-3, License: GPL version 2

Community examples

Looks like there are no examples yet.