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 }