001 package org.shiftone.jrat.core.criteria;
002
003
004 import org.shiftone.jrat.util.log.Logger;
005
006 import java.util.Iterator;
007
008
009 /**
010 * @author jeff@shiftone.org (Jeff Drost)
011 */
012 public class OrMethodCriteria extends CompositeMethodCriteria {
013
014 private static final Logger LOG = Logger.getLogger(OrMethodCriteria.class);
015
016 public boolean isMatch(String className, long modifier) {
017
018 Iterator iterator = getCriterion().iterator();
019
020 while (iterator.hasNext()) {
021 MethodCriteria criteria = (MethodCriteria) iterator.next();
022
023 if (criteria.isMatch(className, modifier)) {
024 return true;
025 }
026 }
027
028 return false;
029 }
030
031
032 public boolean isMatch(String className, String methodName, String signature, long modifier) {
033
034 Iterator iterator = getCriterion().iterator();
035
036 while (iterator.hasNext()) {
037 MethodCriteria criteria = (MethodCriteria) iterator.next();
038
039 if (criteria.isMatch(className, methodName, signature, modifier)) {
040 return true;
041 }
042 }
043
044 return false;
045 }
046
047
048 protected String getTag() {
049 return "or";
050 }
051 }