X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fapplication%2FFileOption.java;h=71809c96fe1c4808b88bbdc76f24ba7997f85b36;hb=a6bda7a82aa1b2cfd0313fb28d3dcca68ca516c5;hp=46396f6730ad9538a279c5fe02e11224ac815dea;hpb=d261320b9f6a902859a959dabdb16f2ed347dd09;p=jSite.git diff --git a/src/de/todesbaum/jsite/application/FileOption.java b/src/de/todesbaum/jsite/application/FileOption.java index 46396f6..71809c9 100644 --- a/src/de/todesbaum/jsite/application/FileOption.java +++ b/src/de/todesbaum/jsite/application/FileOption.java @@ -1,6 +1,5 @@ /* - * jSite - a tool for uploading websites into Freenet Copyright (C) 2006 David - * Roden + * jSite - FileOption.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 @@ -29,9 +28,15 @@ public class FileOption { /** The default for the insert state. */ private static final boolean DEFAULT_INSERT = true; + /** The default for the insert redirect state. */ + private static final boolean DEFAULT_INSERT_REDIRECT = true; + /** The default for the custom key. */ private static final String DEFAULT_CUSTOM_KEY = "CHK@"; + /** The default changed name. */ + private static final String DEFAULT_CHANGED_NAME = null; + /** The default container. */ private static final String DEFAULT_CONTAINER = ""; @@ -50,6 +55,9 @@ public class FileOption { /** The custom key. */ private String customKey; + /** The changed name. */ + private String changedName; + /** The default MIME type. */ private final String defaultMimeType; @@ -73,7 +81,9 @@ public class FileOption { */ public FileOption(String defaultMimeType) { insert = DEFAULT_INSERT; + insertRedirect = DEFAULT_INSERT_REDIRECT; customKey = DEFAULT_CUSTOM_KEY; + changedName = DEFAULT_CHANGED_NAME; this.defaultMimeType = defaultMimeType; mimeType = defaultMimeType; container = DEFAULT_CONTAINER; @@ -162,6 +172,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. * @@ -263,6 +306,9 @@ public class FileOption { if (!customKey.equals(DEFAULT_CUSTOM_KEY)) { return true; } + if (((changedName != null) && !changedName.equals(DEFAULT_CHANGED_NAME)) || ((DEFAULT_CHANGED_NAME != null) && !DEFAULT_CHANGED_NAME.equals(changedName))) { + return true; + } if (!defaultMimeType.equals(mimeType)) { return true; } @@ -275,6 +321,9 @@ public class FileOption { if (editionRange != DEFAULT_EDITION_RANGE) { return true; } + if (insertRedirect != DEFAULT_INSERT_REDIRECT) { + return true; + } return false; }