KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > explorer > core > common > lib > AbstractFileFilter


1 /*====================================================================
2
3 Objectweb Explorer Framework
4 Copyright (C) 2000-2005 INRIA - USTL - LIFL - GOAL
5 Contact: openccm@objectweb.org
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.1 of the License, or 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
20 USA
21
22 Initial developer(s): Jerome Moroy.
23 Contributor(s): ______________________________________.
24
25 ====================================================================
26 $Id: AbstractFileFilter.java,v 1.2 2005/07/06 15:36:00 moroy Exp $
27 ====================================================================*/

28
29 package org.objectweb.util.explorer.core.common.lib;
30
31 import java.io.FileFilter JavaDoc;
32
33 /**
34  * This class represents an Abstract file filter.
35  *
36  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jerome Moroy</a>
37  *
38  * @version 0.1
39  */

40 public abstract class AbstractFileFilter
41            implements FileFilter JavaDoc
42 {
43
44     //==================================================================
45
//
46
// Internal States.
47
//
48
// ==================================================================
49

50     /** The array of file extensions. */
51     protected String JavaDoc[] extensions_ = new String JavaDoc[0];
52
53     // ==================================================================
54
//
55
// Constructors.
56
//
57
// ==================================================================
58

59     /**
60      * Default constructor
61      */

62     public AbstractFileFilter(String JavaDoc extension){
63         if(extension!=null)
64             extensions_ = new String JavaDoc[]{extension};
65     }
66
67     /**
68      * Default constructor
69      */

70     public AbstractFileFilter(String JavaDoc[] extensions){
71         if(extensions!=null)
72             extensions_ = extensions;
73     }
74
75     // ==================================================================
76
//
77
// Internal methods.
78
//
79
// ==================================================================
80

81     /**
82      * Indicates if the given extension is contained in the given array of extensions
83      */

84     protected boolean contains(String JavaDoc[] extensions, String JavaDoc extension){
85         if(extensions!=null && extension!=null){
86             for(int i=0 ; i < extensions.length ; i++)
87                 if(extension.equalsIgnoreCase(extensions[i]))
88                     return true;
89         }
90         return false;
91     }
92
93     // ==================================================================
94
//
95
// Public methods inherits from FileFilter class.
96
//
97
// ==================================================================
98

99     /**
100      * Whether the given file is accepted by this filter.
101      */

102     public boolean accept(java.io.File JavaDoc f) {
103         if(extensions_!=null){
104             String JavaDoc extension = f.getName().substring(f.getName().lastIndexOf('.') + 1);
105             return contains(extensions_, extension) || f.isDirectory();
106         }
107         return false;
108     }
109
110     /**
111      * The description of this filter. For example: "JPG and GIF Images"
112      */

113     public abstract String JavaDoc getDescription();
114
115 }
116
Popular Tags