Dawid Weiss created LUCENE-7277:
-----------------------------------

             Summary: 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


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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to