diff options
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/core/Version.java')
-rw-r--r-- | framework/src/onos/core/api/src/main/java/org/onosproject/core/Version.java | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/core/Version.java b/framework/src/onos/core/api/src/main/java/org/onosproject/core/Version.java deleted file mode 100644 index 06e9e206..00000000 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/core/Version.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright 2014-2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.core; - -import java.util.Objects; - -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Strings.isNullOrEmpty; -import static java.lang.Integer.parseInt; - -/** - * Representation of the product version. - */ -public final class Version { - - public static final String FORMAT_MINIMAL = "%d.%d"; - public static final String FORMAT_SHORT = "%d.%d.%s"; - public static final String FORMAT_LONG = "%d.%d.%s.%s"; - - private static final String NEGATIVE = "Version segment cannot be negative"; - public static final String TOO_SHORT = "Version must have at least major and minor numbers"; - - private final int major; - private final int minor; - private final String patch; - private final String build; - - private final String format; - - // Creates a new version descriptor - private Version(int major, int minor, String patch, String build) { - this.major = major; - this.minor = minor; - this.patch = patch; - this.build = build; - this.format = - isNullOrEmpty(patch) ? - String.format(FORMAT_MINIMAL, major, minor) : - (isNullOrEmpty(build) ? - String.format(FORMAT_SHORT, major, minor, patch) : - String.format(FORMAT_LONG, major, minor, patch, build)); - } - - - /** - * Creates a new version from the specified constituent numbers. - * - * @param major major version number - * @param minor minor version number - * @param patch version patch segment - * @param build optional build string - * @return version descriptor - */ - public static Version version(int major, int minor, String patch, String build) { - checkArgument(major >= 0, NEGATIVE); - checkArgument(minor >= 0, NEGATIVE); - return new Version(major, minor, patch, build); - } - - /** - * Creates a new version by parsing the specified string. - * - * @param string version string - * @return version descriptor - */ - public static Version version(String string) { - String[] fields = string.split("[.-]"); - checkArgument(fields.length >= 2, TOO_SHORT); - return new Version(parseInt(fields[0]), parseInt(fields[1]), - fields.length >= 3 ? fields[2] : null, - fields.length >= 4 ? fields[3] : null); - } - - /** - * Returns the major version number. - * - * @return major version number - */ - public int major() { - return major; - } - - /** - * Returns the minor version number. - * - * @return minor version number - */ - public int minor() { - return minor; - } - - /** - * Returns the version patch segment. - * - * @return patch number - */ - public String patch() { - return patch; - } - - /** - * Returns the version build string. - * - * @return build string - */ - public String build() { - return build; - } - - @Override - public String toString() { - return format; - } - - @Override - public int hashCode() { - return format.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof Version) { - final Version other = (Version) obj; - return Objects.equals(this.format, other.format); - } - return false; - } -} |