com.criteo.hadoop.garmadon.agent.tracers.ConstructorTracer Maven / Gradle / Ivy
package com.criteo.hadoop.garmadon.agent.tracers;
import net.bytebuddy.description.method.MethodDescription;
import net.bytebuddy.description.type.TypeDescription;
import net.bytebuddy.implementation.Implementation;
import net.bytebuddy.matcher.ElementMatcher;
public abstract class ConstructorTracer extends Tracer {
protected ConstructorTracer() {
agentBuilder = agentBuilder
.type(typeMatcher())
.transform((builder, type, classLoader, module) ->
builder
.constructor(constructorMatcher())
.intercept(newImplementation()));
}
protected abstract ElementMatcher super TypeDescription> typeMatcher();
protected abstract ElementMatcher super MethodDescription> constructorMatcher();
protected abstract Implementation newImplementation();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy