package co.forsaken.projectindigo.utils.ftb.tokens; import lombok.Getter; public class Artifact { @Getter private String domain; @Getter private String name; @Getter private String version; @Getter private String classifier; @Getter private String ext = "jar"; public Artifact(String rep) { String[] pts = rep.split(":"); int idx = pts[pts.length - 1].indexOf('@'); if (idx != -1) { ext = pts[pts.length - 1].substring(idx + 1); pts[pts.length - 1] = pts[pts.length - 1].substring(0, idx); } domain = pts[0]; name = pts[1]; version = pts[2]; if (pts.length > 3) { classifier = pts[3]; } } public String getPath() { return getPath(classifier); } public String getPath(String classifier) { String ret = String.format("%s/%s/%s/", domain.replace('.', '/'), name, version); return ret; } public String getDownloadUrl() { return getDownloadUrl(classifier); } public String getDownloadUrl(String classifier) { String ret = String.format("%s/%s/%s/%s-%s", domain.replace('.', '/'), name, version, name, version); if (classifier != null) { ret += "-" + classifier; } return ret + "." + ext; } }