Skip to content


Type java.lang.Long mapping #40

ebasley opened this Issue · 4 comments

2 participants


Take a class Test like this :

public class Test {
public static void test(java.lang.Long a){

Try this :

var java=require('java')
var Test = java.import('Test');
Test.testSync(java.newInstanceSync("java.lang.Long", 1));

Gives :

Error: Could not find method "test(java.lang.Integer)" on class "class Test".
Possible matches:
public static void Test.test(java.lang.Long)

done it with last build.



Just published a new version (v0.2.0) which keeps longs and long objects.

@joeferner joeferner closed this

Thank you,

but when using v 0.2.0 with a Long as parameter, we have this message: "javaToV8: unhandled type: 0x003"


I spent this morning using the new version, and I'm afraid this is not the good solution because now we have to cast all long java objects to integer (intValue()) to use them in javascript, it's a long and dangerous task =>
java.newInstanceSync('java.lang.Long', 1) +1 => '11'
and at the end I had to uncomment your patch !!
I think it's very important to convert transparantly Long to Number, but then how to find the rigth method from JS to java when the last is using long parameters ?
Can't we image to explicitly cast, with something like Number#toLong() ?


OK, I think I came up with a better solution. I've published v0.2.1 with the fix. I've also updated the readme with an example and description of how to handle longs.

@ArkeologeN ArkeologeN referenced this issue in inolen/gremlin-node

Error: installing gremlin with orientdb #60

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.