João Paulo Lemes Machado created LUCENE-7904:
------------------------------------------------

             Summary: Refactoring of SegmentInfos
                 Key: LUCENE-7904
                 URL: https://issues.apache.org/jira/browse/LUCENE-7904
             Project: Lucene - Core
          Issue Type: Improvement
          Components: core/index
            Reporter: João Paulo Lemes Machado


Hello everyone.
I was analyzing the modularization of some classes, and I identified that the 
class SegmentInfos has an opportunity for cohesion improvement. 
The class IndexWriter was in the same situation and the problem was solved as 
follows: The IndexWriterConfig class was created, and several get() and set() 
methods that were used only to configure the class parameters were moved from 
IndexWriter to IndexWriterConfig. 
The new class was then accessed through an instance variable in IndexWriter. 
This strategy has cleaned and improved IndexWriter cohesion.
With this in mind, I would recommend creating a new class: SegmentInfosConfig , 
and moving the following methods:
getLastCommitGeneration
getLastCommitSegmentsFileName
getSegmentsFileName
getNextPendingGeneration
getId
getVersion
getGeneration
getLastGeneration
setInfoStream
getInfoStream
setNextWriteGeneration
setUserData
setVersion
getCommitLuceneVersion
getMinSegmentLuceneVersion
from the SegmentInfos.
Those parameters accessed by an instance variable in the SegmentInfos.
Moreover, the orthogonality is the design would be enhanced.

What do you think about that?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to