X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fapplication%2FProject.java;h=16acd49d8b9750b944d810f5ced3f4e7fa0aae4c;hb=57a0c2f3e794971d21618eae864852d5f7dff64a;hp=3768d062699225e5095549182e16e283e62b12ef;hpb=06b7eb1d2c0499330f495125708ea20d17ca788f;p=jSite.git diff --git a/src/de/todesbaum/jsite/application/Project.java b/src/de/todesbaum/jsite/application/Project.java index 3768d06..16acd49 100644 --- a/src/de/todesbaum/jsite/application/Project.java +++ b/src/de/todesbaum/jsite/application/Project.java @@ -1,6 +1,5 @@ /* - * jSite - a tool for uploading websites into Freenet Copyright (C) 2006 David - * Roden + * jSite - Project.java - Copyright © 2006–2011 David Roden * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -60,6 +59,9 @@ public class Project implements Comparable { /** The edition to insert to. */ protected int edition; + /** Whether to ignore hidden directory. */ + private boolean ignoreHiddenFiles; + /** Options for files. */ protected Map fileOptions = new HashMap(); @@ -86,6 +88,7 @@ public class Project implements Comparable { localPath = project.localPath; indexFile = project.indexFile; lastInsertionTime = project.lastInsertionTime; + ignoreHiddenFiles = project.ignoreHiddenFiles; fileOptions = new HashMap(project.fileOptions); } @@ -248,6 +251,27 @@ public class Project implements Comparable { } /** + * Returns whether hidden files are ignored, i.e. not inserted. + * + * @return {@code true} if hidden files are not inserted, {@code false} + * otherwise + */ + public boolean isIgnoreHiddenFiles() { + return ignoreHiddenFiles; + } + + /** + * Sets whether hidden files are ignored, i.e. not inserted. + * + * @param ignoreHiddenFiles + * {@code true} if hidden files are not inserted, {@code false} + * otherwise + */ + public void setIgnoreHiddenFiles(boolean ignoreHiddenFiles) { + this.ignoreHiddenFiles = ignoreHiddenFiles; + } + + /** * {@inheritDoc} *

* This method returns the name of the project. @@ -395,4 +419,15 @@ public class Project implements Comparable { return "USK@" + requestURI + "/" + path + "/" + (edition + offset) + "/"; } + /** + * Copies the current hashes of all file options to the last insert hashes, + * updating the hashes for the next insert. This method should only be + * called after the insert has finished successfully. + */ + public void copyHashes() { + for (FileOption fileOption : fileOptions.values()) { + fileOption.setLastInsertHash(fileOption.getCurrentHash()); + } + } + }