You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Doug Cutting (JIRA)" <ji...@apache.org> on 2007/02/22 18:51:06 UTC

[jira] Commented: (LUCENE-811) Public API inconsistency

    [ https://issues.apache.org/jira/browse/LUCENE-811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12475104 ] 

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: https://issues.apache.org/jira/browse/LUCENE-811
>             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 (SegmentInfos.info(int)) 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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org