Proposal: nullable wrapper class for primitive data types (int, Number, Boolean)

Anderson, Todd todd at bluecliff.net
Fri Sep 21 07:44:51 PDT 2007


Just for clairification...  These wrapper classes will be available in
the NEXT version of es4?

If so, this is good news!  Exactly what I needed.  The nullable Number
class works for me in place of int.  Hopefully Adobe will adopt these
classes for Flex development.

Thanks,
-Todd

-----Original Message-----
From: lars.t.hansen at gmail.com [mailto:lars.t.hansen at gmail.com] On Behalf
Of Lars T Hansen
Sent: Friday, September 21, 2007 3:07 PM
To: Anderson, Todd
Cc: es4-discuss at mozilla.org
Subject: Re: Proposal: nullable wrapper class for primitive data types
(int, Number, Boolean)

Those pages are probably somewhat out of date.

At present we have Boolean, Number, and String which are nullable
wrapper classes for boolean, double, and string, respectively.  Is
there a particular reason you would need specific wrappers for int and
could not make do with Number?

If the recordset "will return a null value for an int typed column"
then arguably the type of the column is (int,null), not int.  The
former is expressible in ECMAScript 4 either like that or as "int?".
Will that not do?

--lars

On 9/21/07, Anderson, Todd <todd at bluecliff.net> wrote:
>
>
>
>
> Hello,
>
>
>
> Background ES4 WIKI:
> http://wiki.ecmascript.org/doku.php?id=proposals:nullability
>
> Background Flexcoders Discussion:
> http://tech.groups.yahoo.com/group/flexcoders/message/88001
>
>
>
> Issue: When working with sql database record sets, often the recordset
will
> return a null value for an int or boolean typed column.  This means
the
> column is in a state of "value undetermined" or "not yet set".  When a
> recordset is returned into a Adobe Flex 2 VO containing, for instance,
an
> int, the value is reduced to the default value of 0.  Since "not yet
> determined" and 0 are not equivalent, then this becomes an erroneous
> conversion and will corrupt any update calls back to the database.
Since
> the primitive types are not extensible, then there is no current
workaround
> for this issue.
>
>
>
> Proposal: To allow for a wrapper classes that will enable nullable
primitive
> data types.  Therefore, the type of int, Boolean, Number, etc will
still
> remain the same (not nullable), however a proposed type of NullInt,
> NullBoolean and NullNumber would behave the same as the primitive
types,
> except allowing them to be set to null.
>
>
>
> Rationale: Allowing a change such as this allows developers who work
with
> database recordsets (the vast majority) to accurately reflect the data
that
> is in the database.  If the data in the database is automatically
converted
> to a default value in a "hidden" way, then many developers will have
an
> error situation on their hands and may not know why.
>
>
>
> Thank You.
>
>
>
> -Todd Anderson
> _______________________________________________
> Es4-discuss mailing list
> Es4-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es4-discuss
>
>



More information about the Es4-discuss mailing list