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 AndMethodCriteria extends CompositeMethodCriteria {
013
014 private static final Logger LOG = Logger.getLogger(AndMethodCriteria.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 false;
025 }
026 }
027
028 return true;
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 false;
041 }
042 }
043
044 return true;
045 }
046
047
048 protected String getTag() {
049 return "and";
050 }
051 }