/** * 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(); }