lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (JIRA)" <>
Subject [jira] Commented: (LUCENE-811) Public API inconsistency
Date Thu, 22 Feb 2007 17:51:06 GMT


Doug Cutting commented on LUCENE-811:

Rather I think we should consider making SegmentInfos package-private again.  This was made
public by LUCENE-701.  Is it too late to hide it again?  Is this really an API we want to
support long-term?  If there are individual methods that we wish to expose, perhaps they can
instead be exposed through IndexReader or IndexWriter.  It is a slippery slope to now start
making things it references public.

Perhaps we should in the future try to separate interfaces and implementations into separate
packages.  The implementation package could be named something like 'index2impl' with the
understanding that its public API will not be supported long-term.  But, until we do something
like that, I think package-private works well.  Tools like Luke can add classes to the package
in order to access package-private stuff.

> Public API inconsistency
> ------------------------
>                 Key: LUCENE-811
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>         Environment: 2.1.0 release
>            Reporter: Andrzej Bialecki 
>            Priority: Minor
> org.apache.lucene.index.SegmentInfos is public, and contains public methods (which is
good for expert-level index manipulation tools such as Luke). However, SegmentInfo class has
package visibility. This leads to a strange result that it's possible to read SegmentInfos,
but it's not possible to access its details ( from a user application.
> The solution is to make SegmentInfo class public.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message