package ilarkesto.base;
import java.util.StringTokenizer;
/**
* Data type for a version like 1.0.12
*/
public final class Version {
private int major;
private int minor;
private int build;
public Version(int major, int minor, int build) {
this.major = major;
this.minor = minor;
this.build = build;
}
public Version(String s) {
StringTokenizer tok = new StringTokenizer(s, ".");
if (!tok.hasMoreElements()) return;
major = Integer.parseInt(tok.nextToken());
if (!tok.hasMoreElements()) return;
minor = Integer.parseInt(tok.nextToken());
if (!tok.hasMoreElements()) return;
build = Integer.parseInt(tok.nextToken());
}
public Version(Version version) {
this(version.major, version.minor, version.build);
}
public void incrementMajor() {
major++;
}
public void incrementMinor() {
minor++;
}
public void icrementBuild() {
build++;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(major);
if (minor != 0 || build != 0) {
sb.append('.').append(minor);
if (build != 0) {
sb.append('.').append(build);
}
}
return sb.toString();
}
}