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

Lars T Hansen lth at acm.org
Fri Sep 21 08:08:29 PDT 2007


On 9/21/07, Anderson, Todd <todd at bluecliff.net> wrote:
> Just for clairification...  These wrapper classes will be available in
> the NEXT version of es4?

There is only one version of ES4 (after that it will be ES5...)
ActionScript 3 serves as a basis for ES4 but ES4 is not quite
compatible with AS3.

The ES4 design docs on the wiki do not always explain the current
state of the language; we're not updating them any more.

(Tentatively the ES4 spec will be complete next year.)

> If so, this is good news!  Exactly what I needed.  The nullable Number
> class works for me in place of int.

Excellent.

--lars

> 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