/** * Does not consider version * * @see java.lang.Object#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((classifier == null) ? 0 : classifier.hashCode()); result = prime * result + ((packaging == null) ? 0 : packaging.hashCode()); return result; }
/** * Valid forms: <code>groupId:artifactId:packaging:classifier:version</code> * <code>groupId:artifactId:packaging:version</code> <code>groupId:artifactId:version</code> <code>groupId:artifactId</code> */ @Override public final String toCanonicalForm() { final StringBuilder sb = new StringBuilder(super.toCanonicalForm()); if (version == null || version.length() == 0) { return sb.toString(); } if (classifier != null && classifier.length() > 0 && packaging != null) { sb.append(SEPARATOR_COORDINATE).append(packaging.getId()).append(SEPARATOR_COORDINATE) .append(classifier).append(SEPARATOR_COORDINATE).append(version); } if ((classifier == null || classifier.length() == 0) && packaging != null) { sb.append(SEPARATOR_COORDINATE).append(packaging.getId()).append(SEPARATOR_COORDINATE).append(version); } return sb.toString(); }
/** * Value equality is determined by all fields except version * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(final Object obj) { if (this == obj) { return true; } if (!super.equals(obj)) { return false; } if (getClass() != obj.getClass()) { return false; } MavenCoordinateImpl other = (MavenCoordinateImpl) obj; if (classifier == null) { if (other.classifier != null) { return false; } } else if (!classifier.equals(other.classifier)) { return false; } if (!packaging.equals(other.packaging)) { return false; } return true; }