1 // $Id:NamespaceFilter.java 62 2008-04-20 12:28:56Z me $ 2 /* 3 * xsAnalyzer - XML schema analyzing tool. Copyright (C) 2008 Michael Engelhardt 4 * 5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public 6 * License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later 7 * version. 8 * 9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 10 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 11 * 12 * You should have received a copy of the GNU General Public License along with this program; if not, write to the Free 13 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 14 */ 15 /** 16 * 17 */ 18 package de.mindcrimeilab.xsanalyzer.model; 19 20 import java.util.LinkedList; 21 import java.util.List; 22 23 import org.apache.xerces.xs.XSObject; 24 25 import de.mindcrimeilab.util.Filter; 26 27 /** 28 * @author Michael Engelhardt<me@mindcrime-ilab.de> 29 * @author $Author:me $ 30 * @version $Revision:62 $ 31 * 32 */ 33 public class NamespaceFilter implements Filter<XSObject> { 34 35 private final List<String> filteredNamespaces; 36 37 public NamespaceFilter() { 38 filteredNamespaces = new LinkedList<String>(); 39 } 40 41 public boolean addNamespace(String namespace) { 42 return filteredNamespaces.add(namespace); 43 } 44 45 public boolean removeNamespace(String namespace) { 46 return filteredNamespaces.remove(namespace); 47 } 48 49 @Override 50 public boolean isFiltered(XSObject object) { 51 final String namespaceItem = object.getNamespace(); 52 final boolean result = filteredNamespaces.contains(namespaceItem); 53 return result; 54 } 55 56 }