[ https://issues.apache.org/jira/browse/LUCENE-7277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15287373#comment-15287373 ]
Paul Elschot commented on LUCENE-7277: -------------------------------------- For leaf classes without overriding this used to work because of the getClass() in Query.equals() and Query.hashCode(). Would it be ok use that in the intermediate span classes? > Make Query.hashCode and Query.equals abstract > --------------------------------------------- > > Key: LUCENE-7277 > URL: https://issues.apache.org/jira/browse/LUCENE-7277 > Project: Lucene - Core > Issue Type: Improvement > Reporter: Dawid Weiss > Assignee: Dawid Weiss > Priority: Trivial > Attachments: LUCENE-7277.patch > > > Custom subclasses of the Query class have the default implementation of > hashCode/equals that make all instances of the subclass equal. If somebody > doesn't know this it can be pretty tricky to debug with IndexSearcher's query > cache on. > Is there any rationale for declaring it this way instead of making those > methods abstract (and enforcing their proper implementation in a subclass)? > {code} > public int hashCode() { > return getClass().hashCode(); > } > public boolean equals(Object obj) { > if (obj == null) > return false; > return getClass() == obj.getClass(); > } > {code} -- 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