Include field in file options that allows on-insert renaming.
authorDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Fri, 22 Jan 2010 15:02:04 +0000 (16:02 +0100)
committerDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Fri, 22 Jan 2010 15:02:04 +0000 (16:02 +0100)
src/de/todesbaum/jsite/application/FileOption.java
src/de/todesbaum/jsite/main/Configuration.java

index 46396f6..dd3d208 100644 (file)
@@ -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
         * <code>null</code> will set the MIME type to the default MIME type.
         *
index a54d529..e98a18d 100644 (file)
@@ -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()));