X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FBackupFilenameFilter.java;h=b8a721e9ec8b03420d28c160ce5746382561c302;hb=c7827c8c0d28158fcea4ebc132c7b457d60f557d;hp=1fed65cf14ee62bc482642e0176f605389bf702e;hpb=85c8a687e7bdb5f2edf5baf8d90d47628fa8d66e;p=jalview.git diff --git a/src/jalview/io/BackupFilenameFilter.java b/src/jalview/io/BackupFilenameFilter.java index 1fed65c..b8a721e 100644 --- a/src/jalview/io/BackupFilenameFilter.java +++ b/src/jalview/io/BackupFilenameFilter.java @@ -1,3 +1,23 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview 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 Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.io; import java.io.File; @@ -13,21 +33,16 @@ public class BackupFilenameFilter implements FilenameFilter public int digits; - public String extension; - - public BackupFilenameFilter(String base, String template, int digits, - String extension) + public BackupFilenameFilter(String base, String template, int digits) { this.base = base; this.template = template; this.digits = digits; - this.extension = extension; } @Override public boolean accept(File dir, String filename) { - boolean ret = false; try { File file = new File( @@ -44,100 +59,8 @@ public class BackupFilenameFilter implements FilenameFilter } BackupFilenameParts bffp = new BackupFilenameParts(filename, base, - template, digits, extension); - ret = bffp.isBackupFile(); - return ret; - } - - public static String getBackupFilename(int index, String base, - String template, int digits, String extension) - { - String numString = String.format("%0" + digits + "d", index); - String backupSuffix = template.replaceAll(BackupFiles.NUM_PLACEHOLDER, - numString); - String backupfilename = base + backupSuffix + extension; - return backupfilename; + template, digits); + return bffp.isBackupFile(); } } - -class BackupFilenameParts -{ - String base; - - String templateStart; - - int num; - - int digits; - - String templateEnd; - - String extension; - - boolean isBackupFile; - - public BackupFilenameParts(File file, String base, String template, int digits, - String extension) - { - this(file.getName(), base, template, digits, extension); - } - - public BackupFilenameParts(String filename, String base, String template, - int digits, String extension) - { - this.isBackupFile = false; - - // calculate minimum length of a backup filename - int minlength = base.length() + template.length() - - BackupFiles.NUM_PLACEHOLDER.length() + digits - + extension.length(); - - if (!(filename.startsWith(base) && filename.endsWith(extension) - && filename.length() >= minlength)) - { - // non-starter - return; - } - - int numcharstart = template.indexOf(BackupFiles.NUM_PLACEHOLDER); - String templateStart = template; - String templateEnd = ""; - if (numcharstart > -1) - { - templateStart = template.substring(0, numcharstart); - templateEnd = template.substring( - numcharstart + BackupFiles.NUM_PLACEHOLDER.length()); - } - - int startLength = base.length() + templateStart.length(); - int endLength = templateEnd.length() + extension.length(); - String numString = filename.substring(startLength, - filename.length() - endLength); - - if (filename.length() >= startLength + digits + endLength - && filename.startsWith(base + templateStart) - && filename.endsWith(templateEnd + extension) - && numString.matches("[0-9]+")) - { - this.base = base; - this.templateStart = templateStart; - this.num = Integer.parseInt(numString); - this.digits = digits; - this.templateStart = templateStart; - this.templateEnd = templateEnd; - this.isBackupFile = true; - } - - } - - public boolean isBackupFile() - { - return this.isBackupFile; - } - - public int indexNum() - { - return this.num; - } -} \ No newline at end of file