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