# jsimplify

##### Converts Java object to a simple scalar if possible

`.jsimplify`

attempts to convert Java objects that represent
simple scalars into corresponding scalar representation in R.

- Keywords
- interface

##### Usage

`.jsimplify(o, promote=FALSE)`

##### Arguments

- o
arbitrary object

- promote
logical, if

`TRUE`

then an ambiguous conversion where the native type value would map to`NA`

(e.g., Java`int`

type with value -2147483648) will be taken to represent an actual value and will be promoted to a larger type that can represent the value (in case of`int`

promoted to`double`

). If`FALSE`

then such values are assumed to represent`NA`

s.

##### Details

If `o`

is not a Java object reference, `o`

is returned
as-is. If `o`

is a reference to a scalar object (such as single
integer, number, string or boolean) then the value of that object is
returned as R vector of the corresponding type and length one.

This function is used by `.jfield`

to simplify the results
of field access if required.

Currently there is no function inverse to this, the usual way to wrap
scalar values in Java references is to use `.jnew`

as the
corresponding constructor.

##### Value

Simple scalar or `o`

unchanged.

##### See Also

##### Examples

```
# NOT RUN {
i <- .jnew("java/lang/Integer", as.integer(10))
print(i)
print(.jsimplify(i))
# }
```

*Documentation reproduced from package rJava, version 0.9-8, License: GPL-2*