add method to return complete path of a project file
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 29 May 2008 23:24:33 +0000 (01:24 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 29 May 2008 23:24:33 +0000 (01:24 +0200)
src/net/pterodactylus/jsite/project/Project.java
src/net/pterodactylus/jsite/project/ProjectFile.java

index 4d778ab..7a6ee10 100644 (file)
@@ -389,6 +389,19 @@ public class Project extends AbstractBean {
                }
 
                /**
+                * {@inheritDoc}
+                */
+               /* TODO - caching? */
+               public String getCompletePath() {
+                       StringBuilder completePath = new StringBuilder();
+                       ProjectFileImpl currentProjectFile = this;
+                       do {
+                               completePath.insert(0, File.separatorChar).insert(0, this.getName());
+                       } while ((currentProjectFile = currentProjectFile.parentProjectFile) != null);
+                       return completePath.substring(1);
+               }
+
+               /**
                 * @see net.pterodactylus.jsite.project.ProjectFile#isFile()
                 */
                public boolean isFile() {
index 984dcbe..1a8738a 100644 (file)
@@ -19,6 +19,7 @@
 
 package net.pterodactylus.jsite.project;
 
+import java.io.File;
 import java.util.List;
 
 import net.pterodactylus.jsite.core.Core;
@@ -48,6 +49,14 @@ public interface ProjectFile {
        public List<ProjectFile> getParents();
 
        /**
+        * Returns the complete path of this file, without a leading
+        * {@link File#separator}.
+        * 
+        * @return The complete path of this file
+        */
+       public String getCompletePath();
+
+       /**
         * Returns whether this file is a directory.
         * 
         * @return <code>true</code> if this file is a directory,