[ https://issues.apache.org/jira/browse/LUCENE-2799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12966865#action_12966865 ]
Earwin Burrfoot commented on LUCENE-2799: ----------------------------------------- I think it's always best to copy-paste stuff to your project and adapt it, in such cases. It's simple, it doesn't break when you upgrade, it works with clumsily-built code. Designing actual classes (not API interfaces, but fullblown working code) for inheritance is _very_ complex. I've seen few people trying this for real, and even fewer succeeding. > MMapDirectory not designed for inheritance > ------------------------------------------ > > Key: LUCENE-2799 > URL: https://issues.apache.org/jira/browse/LUCENE-2799 > Project: Lucene - Java > Issue Type: Improvement > Components: Store > Affects Versions: 3.0.3 > Reporter: René Treffer > > How to reproduce > Try to inherit from MMapDirectory to change the openInput logic (open files > from different directories). > Expected result: > Inherit from MMapDirectory, overwrite the one method, done. > Actual result: > It's impossible to overwrite the method as the inner classes would be > missing. It's impossible to fork the inner classes as they depend on a final > method with default visibility (cleanMapping). > It turns out to be the easiest option to completely for the code and replace > just the method in question. > Possible fix: > Change the visibility of most members and subtypes to be at least protected > and avoid the default visibility. -- 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org