package org.stagemonitor.tracing;
import net.bytebuddy.description.method.MethodDescription;
import net.bytebuddy.description.type.TypeDescription;
import net.bytebuddy.matcher.ElementMatcher;
import static net.bytebuddy.matcher.ElementMatchers.inheritsAnnotation;
import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith;
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
import static net.bytebuddy.matcher.ElementMatchers.not;
public class ClassLevelMonitorRequestsTransformer extends AbstractMonitorRequestsTransformer {
@Override
protected ElementMatcher.Junction<TypeDescription> getNarrowTypesMatcher() {
return inheritsAnnotation(MonitorRequests.class);
}
@Override
protected ElementMatcher.Junction<MethodDescription> getExtraMethodElementMatcher() {
return isPublic().and(not(isAnnotatedWith(MonitorRequests.class)));
}
}