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=19060490a7efa84e01cb57da14c6916f4d9bc911;hpb=58b35f147f3c1c1a12a07c303105618f679c7161;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 19060490a..45ce5835d 100644 --- a/org.argeo.slc.api/src/org/argeo/slc/NameVersion.java +++ b/org.argeo.slc.api/src/org/argeo/slc/NameVersion.java @@ -6,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]; + } }