1 package com.bonevich.erj.ui;
2
3 import javax.swing.filechooser.FileFilter;
4 import java.io.File;
5 import java.util.regex.*;
6
7 public class ErjFileFilter extends FileFilter
8 {
9 //////////////////////////////////////////////////////////
10 // Attributes
11 private String _extension;
12 private String _description;
13 private Pattern _pattern;
14
15 //////////////////////////////////////////////////////////
16 // Constants
17 public static final ErjFileFilter ERJ = new ErjFileFilter("zerj", "ERJ Project File (*.zerj)");
18 public static final ErjFileFilter UML = new ErjFileFilter("uml", "UML 1.3 Metamodel File (*.xmi)");
19 public static final ErjFileFilter SQL = new ErjFileFilter("sql", "SQL DDL File (*.sql)");
20 public static final ErjFileFilter SVG = new ErjFileFilter("svg", "SVG File (*.svg)");
21 public static final ErjFileFilter GIF = new ErjFileFilter("gif", "GIF Image File (*.gif)");
22 public static final ErjFileFilter JAR = new ErjFileFilter("jar", "Java Archive (*.jar)");
23 public static final ErjFileFilter ZIP = new ErjFileFilter("zip", "Zip Archive (*.zip)");
24
25 //////////////////////////////////////////////////////////
26 // Constructors
27 public ErjFileFilter(String extension, String description)
28 {
29 _extension = extension;
30 _description = description;
31 // boy, that was not a straitforward way to escape a dot!
32 _pattern = Pattern.compile(".*//\u002e" + _extension + "$", Pattern.CASE_INSENSITIVE);
33 }
34
35 public ErjFileFilter(String extension)
36 {
37 this(extension, "*." + extension);
38 }
39
40 //////////////////////////////////////////////////////////
41 // FileFilter implementation
42 public boolean accept(File f)
43 {
44 boolean accept = f.isDirectory();
45
46 if (!accept)
47 {
48 Matcher m = _pattern.matcher(f.getName());
49 accept = m.matches();
50 }
51 return accept;
52 }
53
54 public String getDescription()
55 {
56 return _description;
57 }
58 }
This page was automatically generated by Maven