Skip to content

Type java.lang.Long mapping #40

Closed
Closed

Description

@ebasley

Take a class Test like this :

public class Test {
public static void test(java.lang.Long a){
System.out.println("test1");
}
}

Try this :

var java=require('java')
java.classpath.push('./test.jar');
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.

Regards.

Activity

  1. joeferner commented on Jan 31, 2013

    @joeferner
    Owner

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

  2. ebasley commented on Feb 1, 2013

    @ebasley
    Author

    Thank you,

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

  3. ebasley commented on Feb 1, 2013

    @ebasley
    Author

    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() ?
    Regards.

  4. joeferner commented on Feb 1, 2013

    @joeferner
    Owner

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions