Thank's again André :)

I've made some progress..... you'r suggestion to use Integer and not
primitive int was bang on the mark! :) Unfornately autoboxing was masking
some of my problems - but now I have learnt the error's of my ways :)

Now I am happily using Integer with and without null values...

    public final native Integer getCode()/*-{
        return this.code;
    }-*/;


HOWEVER, Double && double won't work. Double works with null but not a valid
javascript Number... and vice-a-vera with double. I've looked at all the
documentation... going crazy to tell you the truth over such a small simple
issue.. but your helps been great THANK YOU! :)

--AH



2010/8/3 André Moraes <[email protected]>

> 1) This HostedModeException is very annoying. Null (or in JavaScript terms
>> 'undefined') is a valid value for my JavaScript/JSON attributes. I want a
>> way where if the darn thing is undefined return null... don't throw a
>> HostedModeException  - I also tried in jsni if(this.attribute){ return
>> this.attribute; } else { return undefined } but the exception is still
>> thrown.
>>
>
> in your Jsni instead of
>
> if (this.attribute) { return this.attribute; } else { return undefined; }
>
> try
>
> if (this.attribute) { return this.attribute; } else { return null; }
>
> In javascript, null and undefined are two differente things. When something
> is null, this means that an variable is defined and its value is null; If
> something is undefined that means there is no variable with that name.
>
> the statment: "if (this.attribute)" works because when in a boolean
> context, undefined is evaluated to false. Just like C where 0 is false and
> everything else is true.
>
> To solve the int problem, try to change the return type to "Object" and
> then check if the returned value is null. There is no way to return "null"
> in java if the return type of a method is a "primitive int";
>
> I belive that since you are returning null from JSNI, the HostedMode will
> be smart enough to cast "javascript null" to "java null". :)
>
>
>> 2) There is no documentation about how this will behave in production?
>> Will it just return null? I don't know how I can ensure consistency between
>> dev and production modes :'(
>>
>
> In production mode the javascript rules applies, so this probably will
> trigger an error in your browser. When using JSNI method is necessary to
> think in two different worlds (java and javascript). Check this link, maybe
> will help with the javascript type system:
> http://www.java2s.com/Tutorial/JavaScript/0100__Number-Data-Type/PrimitiveTypes.htm
>
>
> Hope it helps.
> --
> André Moraes
> Analista de Desenvolvimento de Sistemas
> [email protected]
> http://andredevchannel.blogspot.com/
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-web-toolkit%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to