📄 orfilter.java
字号:
// HTMLParser Library $Name: v1_6_20060319 $ - A java-based parser for HTML// http://sourceforge.org/projects/htmlparser// Copyright (C) 2003 Derrick Oswald//// Revision Control Information//// $Source: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/filters/OrFilter.java,v $// $Author: derrickoswald $// $Date: 2005/05/15 11:49:04 $// $Revision: 1.4 $//// This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public// License as published by the Free Software Foundation; either// version 2.1 of the License, or (at your option) any later version.//// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU// Lesser General Public License for more details.//// You should have received a copy of the GNU Lesser General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA//package org.htmlparser.filters;import org.htmlparser.Node;import org.htmlparser.NodeFilter;/** * Accepts nodes matching any of it's predicates filters (OR operation). */public class OrFilter implements NodeFilter{ /** * The predicates that are to be or'ed together; */ protected NodeFilter[] mPredicates; /** * Creates a new instance of an OrFilter. * With no predicates, this would always answer <code>false</code> * to {@link #accept}. * @see #setPredicates */ public OrFilter () { setPredicates (null); } /** * Creates an OrFilter that accepts nodes acceptable to either filter. * @param left One filter. * @param right The other filter. */ public OrFilter (NodeFilter left, NodeFilter right) { NodeFilter[] predicates; predicates = new NodeFilter[2]; predicates[0] = left; predicates[1] = right; setPredicates (predicates); } /** * Get the predicates used by this OrFilter. * @return The predicates currently in use. */ public NodeFilter[] getPredicates () { return (mPredicates); } /** * Set the predicates for this OrFilter. * @param predicates The list of predidcates to use in {@link #accept}. */ public void setPredicates (NodeFilter[] predicates) { if (null == predicates) predicates = new NodeFilter[0]; mPredicates = predicates; } // // NodeFilter interface // /** * Accept nodes that are acceptable to any of it's predicate filters. * @param node The node to check. * @return <code>true</code> if any of the predicate filters find the node * is acceptable, <code>false</code> otherwise. */ public boolean accept (Node node) { boolean ret; ret = false; for (int i = 0; !ret && (i < mPredicates.length); i++) if (mPredicates[i].accept (node)) ret = true; return (ret); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -