final MavenCoordinateParser parser = new MavenCoordinateParser(); final int noOfColons = numberOfOccurrences(coordinates, MavenGABaseImpl.SEPARATOR_COORDINATE); case 3: parser.type = (position3 == null || position3.length() == 0) ? PackagingType.JAR : toPackagingType(position3); parser.version = position4; break; default: parser.type = (position3 == null || position3.length() == 0) ? PackagingType.JAR : toPackagingType(position3); parser.classifier = position4; parser.version = position5;
/** * Creates a new {@link MavenCoordinate} instance from the specified, required canonical form in format * {@code <groupId>:<artifactId>[:<packagingType>[:<classifier>]]:(<version>|'?')} * * @param canonicalForm The canonical form. * @return A new {@link MavenCoordinate} instance from the given canonical form * @throws IllegalArgumentException * If the canonical form is not supplied * @throws CoordinateParseException * If the specified canonical form is not valid */ public static MavenCoordinate createCoordinate(final String canonicalForm) throws IllegalArgumentException, CoordinateParseException { if (canonicalForm == null || canonicalForm.length() == 0) { throw new IllegalArgumentException("canonical form is required"); } final MavenCoordinateParser parser = MavenCoordinateParser.parse(canonicalForm); return createCoordinate(parser.getGroupId(), parser.getArtifactId(), parser.getVersion(), parser.getPackaging(), parser.getClassifier()); }