-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClassFileTransformerHolder.java
38 lines (31 loc) · 1.01 KB
/
ClassFileTransformerHolder.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.bootstrap;
import java.lang.instrument.ClassFileTransformer;
/**
* Holder for {@link ClassFileTransformer} used by the instrumentation. Calling transform on this
* class file transformer processes given bytes the same way as they would be processed during
* loading of the class.
*/
public final class ClassFileTransformerHolder {
private static volatile ClassFileTransformer classFileTransformer;
/**
* get class transformer for defining lambdas
*
* @return class transformer for defining lambdas
*/
public static ClassFileTransformer getLambdaClassFileTransformer() {
return classFileTransformer;
}
/**
* set class transformer for defining lambdas
*
* @param transformer transformer
*/
public static void setLambdaClassFileTransformer(ClassFileTransformer transformer) {
classFileTransformer = transformer;
}
private ClassFileTransformerHolder() {}
}