/* fm - File management class library Copyright (C) 2024 Ulrich Hilger This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package de.uhilger.fm; import java.io.File; import java.io.FileFilter; /** * Ein Filter zum Auslassen kleiner Versionen einer Original-Bilddatei * * @author Ulrich Hilger * @version 1, 12. Mai 2021 */ public class ImageFileFilter implements FileFilter { /** Endung fuer JPEG-Bilddateien */ public static final String JPG = ".jpg"; /** Endung fuer JPEG-Bilddateien */ public static final String JPEG = ".jpeg"; /** Endung fuer PNG-Bilddateien */ public static final String PNG = ".png"; /** Namenszusatz fuer Base64-kodierte Dateien */ public static final String B64 = "_b64"; // Base64-Encoded /** Namenszusatz fuer Bilddateien der Groesse 120 */ public static final String TN = "_tn"; // 120 /** Namenszusatz fuer Bilddateien der Groesse 240 */ public static final String KL = "_kl"; // 240 /** Namenszusatz fuer Bilddateien der Groesse 500 */ public static final String SM = "_sm"; // 500 /** Namenszusatz fuer Bilddateien der Groesse 700 */ public static final String MT = "_mt"; // 700 /** Namenszusatz fuer Bilddateien der Groesse 1200 */ public static final String GR = "_gr"; // 1200 /** * Bilddateien mit den Namenszusaetzen _tn, _kl, _sm, _mt, _gr und _b64 werden mit * diesem FileFilter weggelassen. * * @param pathname Name und Pfad einer zu filternden Datei * @return false (weglassen), wenn pathname den Namenszusatz * _tn, _kl, _sm, _mt, _gr und _b64 enthaelt, sonst true */ @Override public boolean accept(File pathname) { boolean pass = true; String fname = pathname.getName().toLowerCase(); if (fname.endsWith(JPEG) || fname.endsWith(JPG) || fname.endsWith(PNG)) { if (fname.contains(GR) || fname.contains(KL) || fname.contains(MT) || fname.contains(SM) || fname.contains(TN) || fname.contains(B64)) { pass = false; } } return pass; } }