[e-lang] Spurious "make" in Java bindings, and safej extensions
Mark Miller
erights at gmail.com
Fri May 15 02:41:08 EDT 2009
On Thu, May 14, 2009 at 9:21 PM, Kevin Reid <kpreid at mac.com> wrote:
> E-on-Java currently defines a Java class's (e.g. foo.Bar) statics
> object to have the FQN foo.makeBar. However, in Java there are
> occasionally classes which are made solely as repositories of static
> members; putting "make" on the name of these classes, as well as
> interfaces being imported for their static members, is silly.
>
> Examples:
>
> javax.swing.ScrollPaneConstants
> org.erights.e.elib.Ref (as far as the E user is concerned)
> java.lang.Math (and StrictMath)
> java.util.Collections
>
> I propose that there should be an option in the safej file controlling
> whether the class is available as foo.Bar, foo.bar, or foo.makeBar.
I like that.
> (Note that the code support for lookup of classes under multiple names
> already exists as part of the transition from <import:foo.Bar>
> (currently deprecated) to <import:foo.makeBar>; this would simply be a
> condition to un-deprecate one of them.)
Yes.
> Two other related points:
>
> - Has <import:foo.Bar> returning a StaticMaker been deprecated long
> enough that we can do the second stage of making <import:foo.Bar>
> returning the type object?
Yes, I think so. The old form causes a warning to be issues, and I've
been fixing these as I see them. Might be good to do more static
checking first though.
> - How about adding an option to safej to specify the class's sugar
> class, if any?
Is speced in org/quasiliteral/schema/safej.schema. Never implemented.
Would be good.
--
Text by me above is hereby placed in the public domain
Cheers,
--MarkM
More information about the e-lang
mailing list