X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.api%2Fsrc%2Forg%2Fargeo%2Fslc%2FNameVersion.java;h=45ce5835dabc8977c7c9374d6fe5bb718f677aab;hb=8ff996a3380166be2ae9cf0ef0fa22c58e11746a;hp=0086cbb16908ea296f9ac1a2a7d083f82cbef167;hpb=550e77c02caecd7b9aec42b3889e9751bb91623e;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.api/src/org/argeo/slc/NameVersion.java b/org.argeo.slc.api/src/org/argeo/slc/NameVersion.java index 0086cbb16..45ce5835d 100644 --- a/org.argeo.slc.api/src/org/argeo/slc/NameVersion.java +++ b/org.argeo.slc.api/src/org/argeo/slc/NameVersion.java @@ -1,18 +1,3 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * 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.argeo.slc; /** @@ -21,8 +6,19 @@ package org.argeo.slc; */ public interface NameVersion { /** The name of the component. */ - public String getName(); + String getName(); /** The version of the component. */ - public String getVersion(); + String getVersion(); + + /** + * The forward compatible branch of this version, by default it is + * [major].[minor]. + */ + default String getBranch() { + String[] parts = getVersion().split("\\."); + if (parts.length < 2) + throw new IllegalStateException("Version " + getVersion() + " cannot be interpreted as branch."); + return parts[0] + "." + parts[1]; + } }