Class ExtensionFileFilter

  • All Implemented Interfaces:
    java.io.FileFilter

    public class ExtensionFileFilter
    extends javax.swing.filechooser.FileFilter
    implements java.io.FileFilter
    A file filter that filters after the extension. Also includes a list of file filters used in JOSM.
    Since:
    32
    • Field Detail

      • importers

        private static final java.util.ArrayList<FileImporter> importers
        List of supported formats for import.
        Since:
        4869
      • exporters

        private static final java.util.ArrayList<FileExporter> exporters
        List of supported formats for export.
        Since:
        4869
      • extensions

        private final java.lang.String extensions
      • description

        private final java.lang.String description
    • Constructor Detail

      • ExtensionFileFilter

        public ExtensionFileFilter​(java.lang.String extension,
                                   java.lang.String defaultExtension,
                                   java.lang.String description)
        Construct an extension file filter by giving the extension to check after.
        Parameters:
        extension - The comma-separated list of file extensions
        defaultExtension - The default extension
        description - A short textual description of the file type
        Since:
        1169
    • Method Detail

      • addImporter

        public static void addImporter​(FileImporter importer)
        Adds a new file importer at the end of the global list. This importer will be evaluated after core ones.
        Parameters:
        importer - new file importer
        Since:
        10407
      • addImporterFirst

        public static void addImporterFirst​(FileImporter importer)
        Adds a new file importer at the beginning of the global list. This importer will be evaluated before core ones.
        Parameters:
        importer - new file importer
        Since:
        10407
      • addExporter

        public static void addExporter​(FileExporter exporter)
        Adds a new file exporter at the end of the global list. This exporter will be evaluated after core ones.
        Parameters:
        exporter - new file exporter
        Since:
        10407
      • addExporterFirst

        public static void addExporterFirst​(FileExporter exporter)
        Adds a new file exporter at the beginning of the global list. This exporter will be evaluated before core ones.
        Parameters:
        exporter - new file exporter
        Since:
        10407
      • getImporters

        public static java.util.List<FileImportergetImporters()
        Returns the list of file importers.
        Returns:
        unmodifiable list of file importers
        Since:
        10407
      • getExporters

        public static java.util.List<FileExportergetExporters()
        Returns the list of file exporters.
        Returns:
        unmodifiable list of file exporters
        Since:
        10407
      • updateAllFormatsImporter

        public static void updateAllFormatsImporter()
        Updates the AllFormatsImporter that is contained in the importers list. If you do not use the importers variable directly, you don't need to call this.

        Updating the AllFormatsImporter is required when plugins add new importers that support new file extensions. The old AllFormatsImporter doesn't include the new extensions and thus will not display these files.

        Since:
        5131
      • applyChoosableImportFileFilters

        public static void applyChoosableImportFileFilters​(AbstractFileChooser fileChooser,
                                                           java.lang.String extension,
                                                           java.util.function.Predicate<ExtensionFileFilter> additionalTypes)
        Applies the choosable FileFilter to a AbstractFileChooser before using the file chooser for selecting a file for reading.
        Parameters:
        fileChooser - the file chooser
        extension - the default extension
        additionalTypes - matching types will additionally be added to the "file type" combobox.
        Since:
        14668 (signature)
      • applyChoosableExportFileFilters

        public static void applyChoosableExportFileFilters​(AbstractFileChooser fileChooser,
                                                           java.lang.String extension,
                                                           java.util.function.Predicate<ExtensionFileFilter> additionalTypes)
        Applies the choosable FileFilter to a AbstractFileChooser before using the file chooser for selecting a file for writing.
        Parameters:
        fileChooser - the file chooser
        extension - the default extension
        additionalTypes - matching types will additionally be added to the "file type" combobox.
        Since:
        14668 (signature)
      • newFilterWithArchiveExtensions

        public static ExtensionFileFilter newFilterWithArchiveExtensions​(java.lang.String extensions,
                                                                         java.lang.String defaultExtension,
                                                                         java.lang.String description,
                                                                         ExtensionFileFilter.AddArchiveExtension addArchiveExtension,
                                                                         java.util.List<java.lang.String> archiveExtensions)
        Construct an extension file filter with the extensions supported by Compression automatically added to the extensions. The specified extensions will be added to the description in the form old-description (*.ext1, *.ext2).
        Parameters:
        extensions - The comma-separated list of file extensions
        defaultExtension - The default extension
        description - A short textual description of the file type without supported extensions in parentheses
        addArchiveExtension - Whether to also add the archive extensions to the description
        archiveExtensions - List of extensions to be added
        Returns:
        The constructed filter
      • newFilterWithArchiveExtensions

        public static ExtensionFileFilter newFilterWithArchiveExtensions​(java.lang.String extensions,
                                                                         java.lang.String defaultExtension,
                                                                         java.lang.String description,
                                                                         boolean addArchiveExtensionsToDescription)
        Construct an extension file filter with the extensions supported by Compression automatically added to the extensions. The specified extensions will be added to the description in the form old-description (*.ext1, *.ext2).
        Parameters:
        extensions - The comma-separated list of file extensions
        defaultExtension - The default extension
        description - A short textual description of the file type without supported extensions in parentheses
        addArchiveExtensionsToDescription - Whether to also add the archive extensions to the description
        Returns:
        The constructed filter
      • acceptName

        public boolean acceptName​(java.lang.String filename)
        Returns true if this file filter accepts the given filename.
        Parameters:
        filename - The filename to check after
        Returns:
        true if this file filter accepts the given filename (i.e if this filename ends with one of the extensions)
        Since:
        1169
      • accept

        public boolean accept​(java.io.File pathname)
        Specified by:
        accept in interface java.io.FileFilter
        Specified by:
        accept in class javax.swing.filechooser.FileFilter
      • getDescription

        public java.lang.String getDescription()
        Specified by:
        getDescription in class javax.swing.filechooser.FileFilter
      • getExtensions

        public java.lang.String getExtensions()
        Replies the comma-separated list of file extensions of this file filter.
        Returns:
        the comma-separated list of file extensions of this file filter, as a String
        Since:
        5131
      • getDefaultExtension

        public java.lang.String getDefaultExtension()
        Replies the default file extension of this file filter.
        Returns:
        the default file extension of this file filter
        Since:
        2029
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object