Is there a way to reference the engine from a linker?

Attila Szegedi szegedia at gmail.com
Wed Apr 4 17:50:21 UTC 2018


Oh, good one. Yes, I think that’ll do. It engages Nashorn’s built-in linker chain to find an appropriate conversion.

Attila.

> On 2018. Apr 4., at 19:28, Paulo Lopes <pmartins at redhat.com> wrote:
> 
> Hi,
> 
> I've worked around it by using:
> 
> 
> ScriptUtils.convert(obj, Map.class)
> 
> 
> When ever I needed to get a script object as a map or replacing the class with List.class when I need a list...
> 
> Is that a safe way to do it?
> 
> 
>   Original Message  
> From: szegedia at gmail.com
> Sent: April 4, 2018 7:21 PM
> To: plopes at redhat.com
> Cc: nashorn-dev at openjdk.java.net
> Subject: Re: Is there a way to reference the engine from a linker?
> 
> Sorry for an awfully late response, but hope it might still help: Java.asJSONCompatible delegates on the Java side to jdk.nashorn.api.scripting.wrapAsJSONCompatible. It’s part of Nashorn’s supported public API, so it should be fine for you to call it.
> 
> I’m actually wondering how useful is that API method - you need to pass a “homeGlobal” parameter, and honestly I’m not really sure how you’d obtain that. Maybe Sundar has an idea.
> 
> Attila.
> 
>> On 2018. Mar 15., at 20:02, Paulo Lopes <plopes at redhat.com> wrote:
>> 
>> Hi,
>> 
>> I'm writing a guarded linker to allow custom casting from JSObject to Vertx
>> custom types. So far so good, the basic tests seem to work but I think I'm
>> writing too much boiler plate code as I need in many times to have an
>> intermediate conversion from JSObject to Map or List.
>> 
>> So I know that in the engine I could call Java.asJSONCompatible() but I
>> don't see how I could get a reference to the engine in the linker.
>> 
>> Could anyone see a way or let me know if there is a open API to do this?
>> 
>> Thanks!
>> Paulo
> 



More information about the nashorn-dev mailing list