Fix calculation of project size.
[jSite.git] / src / de / todesbaum / jsite / application / FileOption.java
index cb50c5c..c8824de 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * jSite - FileOption.java - Copyright © 2006–2011 David Roden
+ * jSite - FileOption.java - Copyright © 2006–2012 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
@@ -40,6 +40,9 @@ public class FileOption {
        /** The insert state. */
        private boolean insert;
 
+       /** Whether to force an insert. */
+       private boolean forceInsert;
+
        /** Whether to insert a redirect. */
        private boolean insertRedirect;
 
@@ -49,6 +52,9 @@ public class FileOption {
        /** The edition of the last insert. */
        private int lastInsertEdition;
 
+       /** The filename of the last insert. */
+       private String lastInsertFilename;
+
        /** The current hash of the file. */
        private String currentHash;
 
@@ -132,6 +138,31 @@ public class FileOption {
        }
 
        /**
+        * Returns whether the insert of this file should be forced, even if its
+        * current hash matches the last insert hash.
+        *
+        * @return {@code true} to force the insert of this file, {@code false}
+        *         otherwise
+        */
+       public boolean isForceInsert() {
+               return forceInsert;
+       }
+
+       /**
+        * Sets whether to force the insert of this file, even if its current hash
+        * matches the last insert hash.
+        *
+        * @param forceInsert
+        *            {@code true} to force the insert of this file, {@code false}
+        *            otherwise
+        * @return These file options
+        */
+       public FileOption setForceInsert(boolean forceInsert) {
+               this.forceInsert = forceInsert;
+               return this;
+       }
+
+       /**
         * Returns whether a redirect to a different key should be inserted. This
         * will only matter if {@link #isInsert()} returns {@code false}. The key
         * that should be redirected to still needs to be specified via
@@ -202,6 +233,27 @@ public class FileOption {
        }
 
        /**
+        * Returns the name of the file when it was last inserted.
+        *
+        * @return The name of the file at the last insert
+        */
+       public String getLastInsertFilename() {
+               return lastInsertFilename;
+       }
+
+       /**
+        * Sets the name of the file when it was last inserted.
+        *
+        * @param lastInsertFilename
+        *            The name of the file at the last insert.
+        * @return These file options
+        */
+       public FileOption setLastInsertFilename(String lastInsertFilename) {
+               this.lastInsertFilename = lastInsertFilename;
+               return this;
+       }
+
+       /**
         * Returns the current hash of the file. This value is ony a temporary value
         * that is copied to {@link #getLastInsertHash()} when a project has
         * finished inserting.