diff --git a/projects/samskivert/src/java/com/samskivert/net/PathUtil.java b/projects/samskivert/src/java/com/samskivert/net/PathUtil.java index e174250d..d9ead4a2 100644 --- a/projects/samskivert/src/java/com/samskivert/net/PathUtil.java +++ b/projects/samskivert/src/java/com/samskivert/net/PathUtil.java @@ -45,4 +45,27 @@ public class PathUtil return newComponent; } } + + /** + * Appends the supplied affix to the specified source path, ensuring + * that exactly one path separator (/ as we are dealing + * with URLs here not platform specific file-system paths) is used + * between the two. Note: this means that the affix will be + * made into a relative path regardless of whether or not it starts + * with a /. + */ + public static String appendPath (String source, String affix) + { + if (source.endsWith("/")) { + if (affix.startsWith("/")) { + return source + affix.substring(1); + } else { + return source + affix; + } + } else if (affix.startsWith("/")) { + return source + affix; + } else { + return source + "/" + affix; + } + } }