lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Willnauer <simon.willna...@googlemail.com>
Subject Re: why is MTQ#getEnum protected
Date Wed, 15 Feb 2012 13:12:51 GMT
On Wed, Feb 15, 2012 at 11:55 AM, Robert Muir <rcmuir@gmail.com> wrote:
> On Wed, Feb 15, 2012 at 5:18 AM, Simon Willnauer
> <simon.willnauer@googlemail.com> wrote:
>> hey guys, I am working on different rewrite methods etc. and the fact
>> that getEnum is protected drives me nuts. I always have to put stuff
>> into the o.a.l.search package if I want to access this method and even
>> further this only works if I am loaded by the same classloader so if
>> somebody wants to write a super smart RewriteMethod and they are
>> running in a tomcat etc. they could get in big trouble. Can we make
>> this public?
>
> Wait:  lets rephrase the question 'why should it be public?'

well in my case it should be public because I simply wanna implement a
rewrite method as well as a related consumer of the MTQ. Putting
classes in a o.a.l.search package seems odd for such a essential
method.
>
> whats the big trouble with tomcat? I've used tomcat with code that
> uses package-private methods before, it works fine. Do you have a test
> case where it fails?

I confused something here, sorry. this only applies if you want to
subclass a package private class, but the general problem is not
tomcat. I should have phrased it differently. if you have two jars A
(lucene-core.jar) and B (my-custom-code.jar) and B contains a Class
that subclasses a package private class from A it works only as long
as A and B are loaded by the same classloader. if not you get a
ClassNotFound exception....

> If so, that seems like a tomcat bug.
>
> I think this is pretty expert... whats wrong with package private
> access for serious-expert stuff?

I don't think experts need to put classes in o.a.l packages to get
access to a feature
> Sneaky bugs can happen in MTQ by making something visible/non-final:
> stuff like LUCENE-3238... I think we should be careful.

I agree but making this particular method public is hardly causing any
sideeffects or do I miss something?


>
> --
> lucidimagination.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message