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

Lars T Hansen lth at acm.org
Fri Sep 21 07:07:14 PDT 2007


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