package me.pbox.pkg;
/**
* @author Mike Mirzayanov (mirzayanovmr@gmail.com)
*/
public class Pkg {
private final String name;
private String version;
public Pkg(String string) {
if (!string.matches("[-a-z_0-9]{1,80}(\\$[-a-z_0-9]{1,80})?")) {
throw new IllegalArgumentException("Invalid package `" + string + "`.");
}
if (string.contains("$")) {
int dollarIndex = string.lastIndexOf('$');
name = string.substring(0, dollarIndex);
version = string.substring(dollarIndex + 1);
} else {
name = string;
}
}
public Pkg(String version, String name) {
this.version = version;
this.name = name;
}
public String getName() {
return name;
}
public void setLatestVersion() {
setVersion(PkgUtil.findLatestVersion(this));
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
@Override
public String toString() {
if (version == null) {
return name;
} else {
return name + '$' + version;
}
}
}