KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > system > deployers > SARArchiveFilter


1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2006, JBoss Inc., and individual contributors as indicated
4 * by the @authors tag. See the copyright.txt in the distribution for a
5 * full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software 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 software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */

22 package org.jboss.system.deployers;
23
24 import java.util.HashSet JavaDoc;
25 import java.util.Set JavaDoc;
26 import java.util.StringTokenizer JavaDoc;
27
28 import org.jboss.virtual.VirtualFile;
29 import org.jboss.virtual.VirtualFileFilter;
30
31 /**
32  * SARArchiveFilter.
33  *
34  * @author <a HREF="adrian@jboss.com">Adrian Brock</a>
35  * @version $Revision: 1.1 $
36  */

37 public class SARArchiveFilter implements VirtualFileFilter
38 {
39    /** The patterns */
40    private final Set JavaDoc<String JavaDoc> patterns;
41    
42    /** Whether there is the accept all wildcard */
43    private final boolean allowAll;
44    
45    /**
46     * Create a new SARArchiveFilter.
47     *
48     * @param patternsString the pattern string
49     * @throws IllegalArgumentException for a null string
50     */

51    public SARArchiveFilter(String JavaDoc patternsString)
52    {
53       if (patternsString == null)
54          throw new IllegalArgumentException JavaDoc("Null patternsString");
55
56       StringTokenizer JavaDoc tokens = new StringTokenizer JavaDoc (patternsString, ",");
57       patterns = new HashSet JavaDoc<String JavaDoc>(tokens.countTokens());
58       for (int i=0; tokens.hasMoreTokens (); ++i)
59       {
60          String JavaDoc token = tokens.nextToken();
61          patterns.add(token.trim());
62       }
63       allowAll = patterns.contains("*");
64    }
65    
66    public boolean accepts(VirtualFile file)
67    {
68       if (allowAll)
69          return true;
70       return patterns.contains(file.getName());
71    }
72 }
73
Popular Tags