X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fapplication%2FFileOption.java;h=c8824de1b90861caeac9a71ec8ee8e02e3309984;hb=953de352675a4ad91fe307d816a4ea7780c94274;hp=2e5830de3e133d0bfb52ef9af0521bb8fc72aeb4;hpb=cb9df9259586b1eb8c364cc2db289a84779ea36a;p=jSite.git diff --git a/src/de/todesbaum/jsite/application/FileOption.java b/src/de/todesbaum/jsite/application/FileOption.java index 2e5830d..c8824de 100644 --- a/src/de/todesbaum/jsite/application/FileOption.java +++ b/src/de/todesbaum/jsite/application/FileOption.java @@ -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,12 +40,21 @@ 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; /** The hash of the last insert. */ private String lastInsertHash; + /** 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; @@ -129,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 @@ -178,11 +212,53 @@ public class FileOption { } /** + * Returns the last edition at which this file was inserted. + * + * @return The last insert edition of this file + */ + public int getLastInsertEdition() { + return lastInsertEdition; + } + + /** + * Sets the last insert edition of this file. + * + * @param lastInsertEdition + * The last insert edition of this file + * @return These file options + */ + public FileOption setLastInsertEdition(int lastInsertEdition) { + this.lastInsertEdition = lastInsertEdition; + return this; + } + + /** + * 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. * - * @see Project#copyHashes() + * @see Project#onSuccessfulInsert() * @return The current hash of the file */ public String getCurrentHash() {