]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.api/src/org/argeo/slc/CategorizedNameVersion.java
Start working on migration to new format.
[gpl/argeo-slc.git] / org.argeo.slc.api / src / org / argeo / slc / CategorizedNameVersion.java
index fd7d56d78eff0269fbd6c74fcd9b247fa1cafbef..b890340cda6bfc01d4b15238c580bbfea652cb77 100644 (file)
@@ -6,5 +6,20 @@ package org.argeo.slc;
  */
 public interface CategorizedNameVersion extends NameVersion {
        /** The category of the component. */
-       public String getCategory();
+       String getCategory();
+
+       static CategorizedNameVersion parseCategoryNameVersion(String str) {
+               if (str == null || "".equals(str.trim()))
+                       throw new IllegalArgumentException("At least one character required.");
+               String[] arr = str.trim().split(":");
+               if (arr.length > 3)
+                       throw new IllegalArgumentException(str + " does not respect the [category]:[name]:[version] pattern");
+               DefaultCategorizedNameVersion res = new DefaultCategorizedNameVersion();
+               res.setCategory(arr[0]);
+               if (arr.length > 1)
+                       res.setName(arr[1]);
+               if (arr.length > 2)
+                       res.setVersion(arr[2]);
+               return res;
+       }
 }