/* * Hibernate Validator, declare and validate application constraints * * License: Apache License, Version 2.0 * See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>. */ package org.hibernate.validator.ap.util; import javax.tools.Diagnostic.Kind; /** * Expectation value to be matched against a given {@link javax.tools.Diagnostic}. * * @author Gunnar Morling */ public class DiagnosticExpectation implements Comparable<DiagnosticExpectation> { private final Kind kind; private final long lineNumber; public DiagnosticExpectation(Kind kind, long lineNumber) { this.kind = kind; this.lineNumber = lineNumber; } public Kind getKind() { return kind; } public long getLineNumber() { return lineNumber; } @Override public String toString() { return "DiagnosticExpectation [kind=" + kind + ", lineNumber=" + lineNumber + "]"; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((kind == null) ? 0 : kind.hashCode()); result = prime * result + (int) (lineNumber ^ (lineNumber >>> 32)); return result; } @Override public boolean equals(Object obj) { if ( this == obj ) { return true; } if ( obj == null ) { return false; } if ( getClass() != obj.getClass() ) { return false; } DiagnosticExpectation other = (DiagnosticExpectation) obj; if ( kind != other.kind ) { return false; } if ( lineNumber != other.lineNumber ) { return false; } return true; } @Override public int compareTo(DiagnosticExpectation o) { if ( o == null ) { return 1; } if ( lineNumber == o.getLineNumber() ) { return kind.compareTo( o.getKind() ); } else { return (int) ( lineNumber - o.getLineNumber() ); } } }