// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.io;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.io.File;
import java.util.Iterator;
import org.openstreetmap.josm.actions.ExtensionFileFilter;
/**
* Dummy importer that adds the "All Formats"-Filter when opening files
*/
public class AllFormatsImporter extends FileImporter {
/**
* Constructs a new {@code AllFormatsImporter}.
*/
public AllFormatsImporter() {
super(new ExtensionFileFilter(getAllExtensions(), "", tr("All Formats")
+ " (*.gpx *.osm *.nmea *.jpg ...)"));
}
@Override
public boolean acceptFile(File pathname) {
return false;
}
/**
* Builds list of all supported extensions by the registered FileImporters.
* @return String comma separated list of supported file extensions
*/
private static String getAllExtensions() {
Iterator<FileImporter> imp = ExtensionFileFilter.getImporters().iterator();
StringBuilder ext = new StringBuilder();
while (imp.hasNext()) {
FileImporter fi = imp.next();
if (fi instanceof AllFormatsImporter) {
continue;
}
ext.append(fi.filter.getExtensions()).append(',');
}
// remove last comma
return ext.substring(0, ext.length()-1);
}
}