// this is a "!" so there is an exclude
String includeString = agentArg.substring(0, xindex);
String excludeString = agentArg.substring(xindex + 1);
if (includeString.length() > 0) {
// there is also an include
Matcher matcher = CompositeMatcher.buildCompositeGlobMatcher(includeString);
and.addCriteria(new ClassMatcherMethodCriteria(matcher));
}
Matcher matcher = CompositeMatcher.buildCompositeGlobMatcher(excludeString);
and.addCriteria(new NotMethodCriteria(new ClassMatcherMethodCriteria(matcher)));
} else {
// there is *only* an include
Matcher matcher = CompositeMatcher.buildCompositeGlobMatcher(agentArg);
and.addCriteria(new ClassMatcherMethodCriteria(matcher));
}
}
if (Settings.isInjectorDefaultExcludesEnabled()) {
Matcher matcher = CompositeMatcher.buildCompositeGlobMatcher(DEFAULT_EXCLUDES);
and.addCriteria(new NotMethodCriteria(new ClassMatcherMethodCriteria(matcher)));
}
return and;
}