From 40306446465d854ab5732e4289302b94cffd00a5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Fri, 22 Jan 2010 16:02:04 +0100 Subject: [PATCH] Include field in file options that allows on-insert renaming. --- src/de/todesbaum/jsite/application/FileOption.java | 36 ++++++++++++++++++++++ src/de/todesbaum/jsite/main/Configuration.java | 4 +++ 2 files changed, 40 insertions(+) diff --git a/src/de/todesbaum/jsite/application/FileOption.java b/src/de/todesbaum/jsite/application/FileOption.java index 46396f6..dd3d208 100644 --- a/src/de/todesbaum/jsite/application/FileOption.java +++ b/src/de/todesbaum/jsite/application/FileOption.java @@ -50,6 +50,9 @@ public class FileOption { /** The custom key. */ private String customKey; + /** The changed name. */ + private String changedName; + /** The default MIME type. */ private final String defaultMimeType; @@ -162,6 +165,39 @@ public class FileOption { } /** + * Returns whether this file has a changed name. Use + * {@link #getChangedName()} is this method returns {@code true}. + * + * @return {@code true} if this file has a changed name, {@code false} + * otherwise + */ + public boolean hasChangedName() { + return (changedName != null) && (changedName.length() > 0); + } + + /** + * Returns the changed name for this file. This method will return {@code + * null} or an empty {@link String} if this file should not be renamed. + * + * @return The changed name, or {@code null} if this file should not be + * renamed + */ + public String getChangedName() { + return changedName; + } + + /** + * Sets the changed name for this file. Setting the changed file to {@code + * null} or an empty {@link String} will disable renaming. + * + * @param changedName + * The new changed name for this file + */ + public void setChangedName(String changedName) { + this.changedName = changedName; + } + + /** * Sets the MIME type of the file. Setting the MIME type to * null will set the MIME type to the default MIME type. * diff --git a/src/de/todesbaum/jsite/main/Configuration.java b/src/de/todesbaum/jsite/main/Configuration.java index a54d529..e98a18d 100644 --- a/src/de/todesbaum/jsite/main/Configuration.java +++ b/src/de/todesbaum/jsite/main/Configuration.java @@ -360,6 +360,9 @@ public class Configuration { fileOption.setInsertRedirect(Boolean.parseBoolean(fileOptionNode.getNode("insert-redirect").getValue())); } fileOption.setCustomKey(fileOptionNode.getNode("custom-key").getValue("")); + if (fileOptionNode.getNode("changed-name") != null) { + fileOption.setChangedName(fileOptionNode.getNode("changed-name").getValue()); + } fileOption.setMimeType(fileOptionNode.getNode("mime-type").getValue("")); fileOption.setContainer(fileOptionNode.getNode("container").getValue()); if (fileOptionNode.getNode("replace-edition") != null) { @@ -409,6 +412,7 @@ public class Configuration { fileOptionNode.append("insert", String.valueOf(fileOption.isInsert())); fileOptionNode.append("insert-redirect", String.valueOf(fileOption.isInsertRedirect())); fileOptionNode.append("custom-key", fileOption.getCustomKey()); + fileOptionNode.append("changed-name", fileOption.getChangedName()); fileOptionNode.append("mime-type", fileOption.getMimeType()); fileOptionNode.append("container", fileOption.getContainer()); fileOptionNode.append("replace-edition", String.valueOf(fileOption.getReplaceEdition())); -- 2.7.4