JavaAdapter - extend class?
Jim Laskey (Oracle)
james.laskey at oracle.com
Fri Dec 21 13:33:02 PST 2012
As Attila said. You can use concrete classes as well.
var myObject = new java.util.Timer("My Timer") {
};
Works fine. And I'll correct the stale comment.
Cheers,
-- Jim
On 2012-12-21, at 5:18 PM, Bruno Borges <bruno.borges at oracle.com> wrote:
> So, like I said: Nashorn does not support extending a class.
>
> This is bad because sometimes we have abstract classes that need to be implemented on the Javascript side.
>
> Is there any plan to provide this feature?
>
> On Fri 21 Dec 2012 07:16:05 PM BRST, Jim Laskey (Oracle) wrote:
>> Absolutely. Here is the comment from the source.
>>
>> This class implements Rhino-like JavaAdapter to help implement a Java
>> interface in JavaScript. We support this using Invocable.getInterface.
>> Using this JavaAdapter, script author could write:
>>
>> var r = new java.lang.Runnable() {
>> run: function() { script... }
>> };
>>
>> r.run();
>> new java.lang.Thread(r).start();
>>
>> Note that Rhino's JavaAdapter support allows extending a Java class and/or
>> implementing one or more interfaces. This JavaAdapter implementation does
>> not support these.
>>
>> If you looked at the twitter example on the blog you'll see another application.
>>
>> https://blogs.oracle.com/nashorn/entry/nashorn_in_the_twitterverse_continued
>>
>> Cheers,
>>
>> -- Jim
>>
>>
>>
>>
>> On 2012-12-21, at 4:56 PM, Bruno Borges <bruno.borges at oracle.com> wrote:
>>
>>> On Mozilla Rhino, the JavaAdapter offers the capability of extending from concrete classes, and also implementing more than one interface.
>>>
>>> Will Nashorn offer this same capability?
>>>
>>> I ask this because the modified version of Rhino that comes with JRE does *not* offer this.
>>>
>>> Thanks
>>>
>>> --
>>> Bruno Borges
>>> Principal Product Manager | JavaEE WebLogic GlassFish
>>> Oracle LAD PM Team | Cloud Application Foundation
>>> +55 11 5187 6514 (Work) | +55 11 99564 9058 (Mobi)
>>>
>>
>
> --
> --
> Bruno Borges
> Principal Product Manager | JavaEE WebLogic GlassFish
> Oracle LAD PM Team | Cloud Application Foundation
> +55 11 5187 6514 (Work) | +55 11 99564 9058 (Mobi)
More information about the nashorn-dev
mailing list