Re: [Objectscript-users] retrieve full package from Value
Brought to you by:
rob_d_clark
|
From: Rob C. <ro...@ti...> - 2005-11-17 20:52:47
|
ok, sounds good... I think, start by having a look at
AbstractReference (sorry, not AbstractValue, I typed too fast)... you
can use this to create a "proxy" for the actual script package Value,
which contains the additional information about how it is referenced.
On Nov 17, 2005, at 3:29 AM, <ar...@va...>
<ar...@va...> wrote:
> Rob,
>
> No problem. This can happen :)
>
> Thanks for the reply. I think i will look into a solution like you
> suggested. I might going to suggest some changes to the OScript
> codebase
> anyway. Maybe i'll get back with a nice solution of some kind.
>
> Regards,
>
> Arjen
>> Hi Arjen,
>>
>> sorry for the late reply... your email got lost many pages up in my
>> inbox.
>>
>> There is not currently a way to get the package name from a Value
>> object. I guess I had never thought of this. The main problem is
>> that you could, in theory, access the same file in multiple ways.
>>
>> I guess something could probably be done, by having ScriptPackage not
>> return the actual Value object, but rather something that extends
>> AbstractValue which implements the get() method to return the actual
>> value. This way, there is a "wrapper" around the actual Value, which
>> can know how it was accessed.
>>
>>
>> -- Rob
>>
>>
>> On Nov 3, 2005, at 4:46 AM, <ar...@va...>
>> <ar...@va...> wrote:
>>
>>> Hi,
>>>
>>> I'm working on an application having the Oscript interpreter
>>> embedded. I
>>> have a Java helper class that calls a function in a scripted
>>> object. This
>>> function returns another scripted object back to the Java helper.
>>> How can
>>> i get the full package name from that Value (Scope)-object?
>>>
>>> Example:
>>>
>>> lib/someobject.os:
>>>
>>> public function someobject() {
>>> public function test() {
>>> }
>>> }
>>>
>>> lib/file.os:
>>>
>>> public function file() {
>>> public function method() {
>>>
>>> return new pkg.lib.someobject(); <===========
>>>
>>> }
>>> }
>>>
>>> Java helper class:
>>>
>>> AbstractFile sFile = OscriptInterpreter.resolve("lib/file.os",
>>> false);
>>> OscriptInterpreter.eval(sFile, pScope);
>>> Value objValue = pScope.lookupInScope("file");
>>> Value program = objValue.callAsConstructor(new Value[0]);
>>> Value func = program.lookupInScope("method");
>>>
>>> Value res = func.callAsFunction(); <=== "res" now contains the
>>> instantiated "pkg.lib.someobject()" object. But how do i retrieve
>>> this
>>> information from that Value-object? How do i know the package name
>>> and the
>>> object name of this Value object?
>>>
>>> I hope my question is clear enough. Thanks for your help.
>>>
>>> Regards,
>>>
>>> Arjen van Efferen
>>>
>>>
>>> -------------------------------------------------------
>>> SF.Net email is sponsored by:
>>> Tame your development challenges with Apache's Geronimo App Server.
>>> Download
>>> it for free - -and be entered to win a 42" plasma tv or your very
>>> own
>>> Sony(tm)PSP. Click here to play: http://sourceforge.net/
>>> geronimo.php
>>> _______________________________________________
>>> Objectscript-users mailing list
>>> Obj...@li...
>>> https://lists.sourceforge.net/lists/listinfo/objectscript-users
>>
>> -- Rob
>>
>> ____________________
>> CONTACT INFORMATION:
>> email: ro...@ti...
>> IM: rob@sandjabber
>> desk: 1 858 552 2946
>> cell: 1 619 300 9661
>>
>>
>>
>>
>
-- Rob
____________________
CONTACT INFORMATION:
email: ro...@ti...
IM: rob@sandjabber
desk: 1 858 552 2946
cell: 1 619 300 9661
|