Fixed... but I think this stinks :) public final Double getXMin(){ return isXMinNull() ? null : getXMinValue(); }
private final native boolean isXMinNull()/*-{ return this.xmin == null; }-*/; private final native double getXMinValue()/*-{ return this.xmin; }-*/; On Tue, Aug 3, 2010 at 11:50 AM, Andrew Hughes <ahhug...@gmail.com> wrote: > 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 <andr...@gmail.com> > > 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 >> andr...@gmail.com >> 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 google-web-tool...@googlegroups.com. >> To unsubscribe from this group, send email to >> google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> >> . >> 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 google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.