X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fproject%2FProjectFile.java;h=7f9cc2d1b6e07f3bfd5c158b46a5c7be407fab85;hb=9e5b4a6082659cf0c31affb37a1c5c64612a2f01;hp=1a8738a5c3f8aaf39f7c98353781763ad79031ab;hpb=f33c078012fd2c8683a5253e7c9cfffb460d7fcb;p=jSite2.git
diff --git a/src/net/pterodactylus/jsite/project/ProjectFile.java b/src/net/pterodactylus/jsite/project/ProjectFile.java
index 1a8738a..7f9cc2d 100644
--- a/src/net/pterodactylus/jsite/project/ProjectFile.java
+++ b/src/net/pterodactylus/jsite/project/ProjectFile.java
@@ -28,22 +28,30 @@ import net.pterodactylus.jsite.core.Core;
* Abstraction for a that exists on the machine {@link Core} is being run on.
* This abstraction layer exists to make it possible to run jSite as a daemon
* and only connect to it via network.
- *
+ *
* @author David âBombeâ Roden <bombe@freenetproject.org>
*/
public interface ProjectFile {
/**
* Returns the name of the file.
- *
+ *
* @return The name of the file
*/
public String getName();
/**
+ * Returns the parent of this project file.
+ *
+ * @return The parent of this project file, or null
if this
+ * project file does not have a parent
+ */
+ public ProjectFile getParent();
+
+ /**
* Returns all parent files of this file. This file is the last file in the
* returned list.
- *
+ *
* @return A list of all parents of this file and this file itself
*/
public List getParents();
@@ -51,14 +59,23 @@ public interface ProjectFile {
/**
* Returns the complete path of this file, without a leading
* {@link File#separator}.
- *
+ *
* @return The complete path of this file
*/
public String getCompletePath();
/**
+ * Returns the size of the file. If this file is a directory, the returned
+ * value is unspecified.
+ *
+ * @see File#length()
+ * @return The size of the file
+ */
+ public long getSize();
+
+ /**
* Returns whether this file is a directory.
- *
+ *
* @return true
if this file is a directory,
* false
otherwise
*/
@@ -66,7 +83,7 @@ public interface ProjectFile {
/**
* Returns whether this file is a file (as opposed to being a directory).
- *
+ *
* @return true
if this file is a file, false
* otherwise
*/
@@ -74,14 +91,14 @@ public interface ProjectFile {
/**
* Returns whether this file is hidden.
- *
+ *
* @return true
if this file is hidden
*/
public boolean isHidden();
/**
* If this file is a directory, returns all files in this directory.
- *
+ *
* @see #isDirectory()
* @return All files in this directory if this file is a directory, or
* null
if this file is not a directory