X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fmain%2FVersion.java;h=be38f6d8c141caff49a99dc9cdc6ba956082aba5;hb=b2b988f8db27bedf00c1c87895b20032d282215e;hp=361b5ed82d786c5c79e956742ce7e759fb832e3b;hpb=40e699e715c14f940f7a2c43f553b522e7f529fc;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/main/Version.java b/src/net/pterodactylus/jsite/main/Version.java index 361b5ed..be38f6d 100644 --- a/src/net/pterodactylus/jsite/main/Version.java +++ b/src/net/pterodactylus/jsite/main/Version.java @@ -23,20 +23,110 @@ package net.pterodactylus.jsite.main; * Container for version information. * * @author David Roden <bombe@freenetproject.org> - * @version $Id$ */ -public class Version { +public class Version implements Comparable { - /** The version identifier. */ - private static final String VERSION = "0.9.0"; + /** The version of the application. */ + private static final Version VERSION = new Version(0, 9, 0); + + /** The major level of the version. */ + private final int major; + + /** The minor level of the version. */ + private final int minor; + + /** The patch level of the version. */ + private final int patch; /** - * Returns the version information. + * Creates a new version with the given major level and minor and patch + * levels set to 0. * - * @return The version information + * @param major + * The major level of the version */ - public static final String getVersion() { + public Version(int major) { + this(major, 0); + } + + /** + * Creates a new version with the given major and minor level and the patch + * level set to 0. + * + * @param major + * The major level of the version + * @param minor + * The minor level of the version + */ + public Version(int major, int minor) { + this(major, minor, 0); + } + + /** + * Creates a new version with the given major, minor, and patch level. + * + * @param major + * The major level of the version + * @param minor + * The minor level of the version + * @param patch + * The patch level of the version + */ + public Version(int major, int minor, int patch) { + this.major = major; + this.minor = minor; + this.patch = patch; + } + + /** + * Returns the version of the application. + * + * @return The version of the application + */ + public static Version getVersion() { return VERSION; } + /** + * Returns the major level of the version. + * + * @return The major level of the version + */ + public int getMajor() { + return major; + } + + /** + * Returns the minor level of the version. + * + * @return The minor level of the version + */ + public int getMinor() { + return minor; + } + + /** + * Returns the patch level of the version. + * + * @return The patch level of the version + */ + public int getPatch() { + return patch; + } + + /** + * {@inheritDoc} + */ + public int compareTo(Version version) { + return (major != version.major) ? (major - version.major) : ((minor != version.minor) ? (minor - version.minor) : (patch - version.patch)); + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return major + "." + minor + "." + patch; + } + }