/** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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.apache.airavata.common.utils; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement public class Version { public String PROJECT_NAME; private Integer majorVersion=0; private Integer minorVersion=0; private Integer maintenanceVersion; private String versionData; private BuildType buildType; public static enum BuildType{ ALPHA, BETA, RC } public Version() { } public Version(String PROJECT_NAME,Integer majorVersion,Integer minorVersion,Integer maintenanceVersion,String versionData,BuildType buildType) { this.PROJECT_NAME=PROJECT_NAME; this.majorVersion=majorVersion; this.minorVersion=minorVersion; this.maintenanceVersion=maintenanceVersion; this.versionData=versionData; this.buildType=buildType; } public Integer getMajorVersion() { return majorVersion; } public Integer getMinorVersion() { return minorVersion; } public Integer getMaintenanceVersion() { return maintenanceVersion; } public String getVersionData() { return versionData; } public BuildType getBuildType() { return buildType; } public String getVersion(){ String version = getBaseVersion(); version = attachVersionData(version); return version; } private String attachVersionData(String version) { if (getVersionData()!=null){ version+="-"+getVersionData(); } return version; } public String getBaseVersion() { String version=getMajorVersion().toString()+"."+getMinorVersion(); return version; } public String getFullVersion(){ String version = getBaseVersion(); version = attachMaintainanceVersion(version); version = attachVersionData(version); version = attachBuildType(version); return version; } private String attachMaintainanceVersion(String version) { if (getMaintenanceVersion()!=null){ version+="."+getMaintenanceVersion(); } return version; } private String attachBuildType(String version) { if (getBuildType()!=null){ version+="-"+getBuildType().name(); } return version; } @Override public String toString() { return getVersion(); } }