[ https://issues.apache.org/jira/browse/LUCENE-6225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dawid Weiss resolved LUCENE-6225. --------------------------------- Resolution: Fixed > Clarify documentation of clone() in IndexInput > ---------------------------------------------- > > Key: LUCENE-6225 > URL: https://issues.apache.org/jira/browse/LUCENE-6225 > Project: Lucene - Core > Issue Type: Improvement > Reporter: Dawid Weiss > Assignee: Dawid Weiss > Priority: Minor > Fix For: 5.3, Trunk > > Attachments: LUCENE-6225.patch > > > Here is a snippet from IndexInput's documentation: > {code} > The original instance must take care that cloned instances throw > AlreadyClosedException when the original one is closed. > {code} > But concrete implementations don't throw this AlreadyClosedException (this > would break the contract on Closeable). For example, see NIOFSDirectory: > {code} > public void close() throws IOException { > if (!isClone) { > channel.close(); > } > } > {code} > What trapped me was that the abstract class IndexInput overrides the default > implementation of clone(), but doesn't do anything useful... I guess you > could make it final and provide the tracking for cloned instances in this > class rather than reimplementing it everywhere else (isCloned() would be a > superclass method then too). Thoughts? -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org