X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=systems%2Forg.argeo.suite.studio%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fstudio%2Fparts%2FSiteElem.java;fp=systems%2Forg.argeo.suite.studio%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fstudio%2Fparts%2FSiteElem.java;h=4931eabd1bb597ddeb2f61c48a4348b6a7816eda;hb=baf563976c7595d5e50f2e38bb684196618b402f;hp=0000000000000000000000000000000000000000;hpb=129a2170cfbfaa6a972f79068d6892f9c2bb1d08;p=gpl%2Fargeo-suite.git diff --git a/systems/org.argeo.suite.studio/src/org/argeo/suite/studio/parts/SiteElem.java b/systems/org.argeo.suite.studio/src/org/argeo/suite/studio/parts/SiteElem.java new file mode 100644 index 0000000..4931eab --- /dev/null +++ b/systems/org.argeo.suite.studio/src/org/argeo/suite/studio/parts/SiteElem.java @@ -0,0 +1,37 @@ +package org.argeo.suite.studio.parts; + +import org.argeo.eclipse.ui.TreeParent; + +/** Base class for site map elements. */ +abstract class SiteElem extends TreeParent { + + private final String path; + + public SiteElem(String path) { + super(extractLastSegment(path)); + this.path = path; + } + + public String getPath() { + return path; + } + + static String extractLastSegment(String path) { + if (path == null || path.equals("")) + throw new IllegalArgumentException("Path should not be null or empty."); + if (path.equals("/")) + return path; + String[] segments = path.split("/"); + for (int i = segments.length - 1; i >= 0; i--) { + if (!segments[i].equals("") && !segments[i].equals("*")) + return segments[i]; + } + return "/"; + } + + @Override + public String toString() { + return path; + } + +}