20 package net.sf.gridarta.utils;
22 import java.io.BufferedReader;
24 import java.io.FileInputStream;
25 import java.io.IOException;
26 import java.io.InputStreamReader;
28 import java.util.WeakHashMap;
29 import java.util.prefs.Preferences;
31 import net.
sf.japi.util.filter.file.EndingFileFilter;
32 import org.jetbrains.annotations.NotNull;
52 private final Map<File, Boolean>
cache =
new WeakHashMap<>();
61 public MapFileFilter(
final boolean acceptDirectories, @NotNull
final String description, @NotNull
final String... endings) {
62 super(acceptDirectories,
true, description, endings);
72 Preferences.userNodeForPackage(
MainControl.class).putBoolean(
"filterRealMaps", performingRealChecks);
88 public boolean accept(@NotNull
final File pathName) {
89 if (pathName.isDirectory()) {
96 return cache.get(pathName);
97 }
catch (
final NullPointerException ignored) {
100 if (!performingRealChecks) {
101 return super.accept(pathName);
105 try (FileInputStream fis =
new FileInputStream(pathName)) {
106 try (InputStreamReader isr =
new InputStreamReader(fis)) {
107 try (BufferedReader in =
new BufferedReader(isr)) {
108 final String line = in.readLine();
109 final boolean ret = line != null && line.equals(
"arch map");
110 cache.put(pathName, ret ? Boolean.TRUE : Boolean.FALSE);
115 }
catch (
final IOException ignored) {
116 return super.accept(pathName);
MapFileFilter(final boolean acceptDirectories, @NotNull final String description, @NotNull final String... endings)
Creates a new instance.
static boolean isPerformingRealChecks()
Get whether to actually perform real checks or just file endings.
static void setPerformingRealChecks(final boolean performingRealChecks)
Set whether to actually perform real checks or just file endings.
Base package of all Gridarta classes.
static boolean performingRealChecks
Whether to actually perform real checks or just file endings.
Swing FileFilter implementation that filters Daimonin map files.
Interface used as preferences location.
boolean accept(@NotNull final File pathName)
ParameterNameDiffersFromOverriddenParameter
final Map< File, Boolean > cache
Already filtered files.