X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.api%2Fsrc%2Forg%2Fargeo%2Fslc%2FNameVersion.java;h=45ce5835dabc8977c7c9374d6fe5bb718f677aab;hb=a7b7f6c529ef11b1b2c99206d07261a1d52243bf;hp=19060490a7efa84e01cb57da14c6916f4d9bc911;hpb=6fc94d69efe089414ac9e63bde3efab1cbf7b7ca;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]; + } }