package org.stagemonitor.core.instrument;
import net.bytebuddy.matcher.ElementMatcher;
public class ClassLoaderNameMatcher extends ElementMatcher.Junction.AbstractBase<ClassLoader> {
private final String name;
private ClassLoaderNameMatcher(String name) {
this.name = name;
}
public static ElementMatcher.Junction.AbstractBase<ClassLoader> classLoaderWithName(String name) {
return new ClassLoaderNameMatcher(name);
}
public static ElementMatcher.Junction.AbstractBase<ClassLoader> isReflectionClassLoader() {
return new ClassLoaderNameMatcher("sun.reflect.DelegatingClassLoader");
}
@Override
public boolean matches(ClassLoader target) {
return target != null && name.equals(target.getClass().getName());
}
}