|  |  | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * Ein Filter zum Auslassen kleiner Versionen einer Original-Bilddatei | 
 |  |  |  *  | 
 |  |  |  * | 
 |  |  |  * @author Ulrich Hilger | 
 |  |  |  * @version 1, 12. Mai 2021 | 
 |  |  |  */ | 
 |  |  | public class ImageFileFilter implements FileFilter { | 
 |  |  |    | 
 |  |  |   public static final String JPG = ".jpg"; | 
 |  |  |   public static final String JPEG = ".jpeg"; | 
 |  |  |   public static final String PNG = ".png"; | 
 |  |  |    | 
 |  |  |   public static final String B64 = "_b64"; // Base64-Encoded | 
 |  |  |    | 
 |  |  |   public static final String TN = "_tn"; // 120 | 
 |  |  |   public static final String KL = "_kl"; // 240 | 
 |  |  |   public static final String SM = "_sm"; // 500 | 
 |  |  |   public static final String MT = "_mt"; // 700 | 
 |  |  |   public static final String GR = "_gr"; // 1200   | 
 |  |  |    | 
 |  |  |     @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; | 
 |  |  |     } | 
 |  |  | }   | 
 |  |  |  | 
 |  |  |   /** 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; | 
 |  |  |   } | 
 |  |  | } |