jakarta-taglibs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Igor Bukanov <i...@mir2.org>
Subject Re: NativeString is no longer public?
Date Mon, 11 Feb 2002 17:59:54 GMT
On Mon, 11 February 2002, "Sam Ruby" wrote:

> Norris Boyd wrote:
> > Those classes weren't intended to be public, and were only because we
> > used to need java.lang.reflect access to them. The last release changed
> > the method of access, so we wanted to make them package protected.
> > (cc'ing Igor, who made this change.)
> >
> > It seems like what the code in the standard taglib really desires is a
> > Rhino method like
> >   convertTo(Object value, Class desiredType)
> > that would convert "value" to the type represented by "desiredType" if
> > possible. Unfortunately, there's no method like that currently in the
> > Rhino API, although we do have that functionality buried for converting
> > types in calls to Java methods. I'd be happy to expose it.
> >
> > So should I expose this method and have you change the call, or is
> > another approach better?
> I know you might not particularly care for this suggestion, but to ease the
> burden of user migration, I would prefer  to see a single release of
> backwards compatibility.  In other words, I'd like to either see a
> suggestion of a change that can be made to taglibs which works with the
> current release *OR* I would like to see this API added back in and
> deprecated and potentially removed after a release cycle.
> What do you think?

I think Rhino should state very clearly that only the explicitly documented API are stable
(or at least that the next release would provide 100% compatibility with anything not deprecated),
especially given the fact that many classes are public just for cross-package references.
And if a particular internal functionality is desirable to access from outside, then it should
be exported via some additional API so it would be easy to make changes.

On the hand this non-public-Native*-change should be reverted to "public deprecated" if more
complains starts to appear. I will do this for NativeString, but keep the class final: IMHO
an inheritance from NativeString is too broken to allow.

To unsubscribe, e-mail:   <mailto:taglibs-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:taglibs-dev-help@jakarta.apache.org>

View raw message