NXvalidate  1
 All Classes Namespaces Files Functions Variables
AllNeXusFilter.java
Go to the documentation of this file.
1 /* NeXus - Neutron & X-ray Common Data Format
2  *
3  * NeXus file validation GUI tool.
4  *
5  * Copyright (C) 2010 Nexus Team
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  *
21  * For further information, see <http://www.nexusformat.org/>
22  *
23  * AllNeXusFilter.java
24  *
25  */
26 package org.nexusformat.nxvalidate.filter;
27 
28 import org.nexusformat.nxvalidate.*;
29 import java.io.File;
30 import java.util.Vector;
31 import javax.swing.filechooser.FileFilter;
32 
33 public class AllNeXusFilter extends FileFilter implements java.io.FileFilter {
34  private Vector<FileFilter> filters;
35  private String description;
36 
37  public AllNeXusFilter() {
38  this.filters = new Vector<FileFilter>();
39  this.filters.add(new NeXusFilter());
40  this.filters.add(new HdfFilter());
41  this.filters.add(new XmlFilter());
42 
43  this.description = "";
44  int numFilters = this.filters.size();
45  for (int i = 0; i < numFilters; i++) {
46  this.description += this.filters.get(i).getDescription();
47  if ((i + 1) < numFilters) {
48  this.description += ", ";
49  }
50  }
51  }
52 
53  @Override
54  public boolean accept(File pathname) {
55  for (FileFilter filter : this.filters) {
56  if (filter.accept(pathname)) {
57  return true;
58  }
59  }
60  return false;
61  }
62 
63  @Override
64  public String getDescription() {
65  return this.description;
66  }
67 
68 }