Package io.opentelemetry.api.internal
Annotation Type GuardedBy
The field or method to which this annotation is applied can only be accessed when holding a
particular lock, which may be a built-in (synchronization) lock, or may be an explicit
Lock
.
The argument determines which lock guards the annotated field or method:
- this : The string literal "this" means that this field is guarded by the class in which it is defined.
- class-name.this : For inner classes, it may be necessary to disambiguate 'this'; the class-name.this designation allows you to specify which 'this' reference is intended
- itself : For reference fields only; the object to which the field refers.
- field-name : The lock object is referenced by the (instance or static) field specified by field-name.
- class-name.field-name : The lock object is reference by the static field specified by class-name.field-name.
- method-name() : The lock object is returned by calling the named nil-ary method.
- class-name.class : The Class object for the specified class should be used as the lock object.
This annotation is similar to GuardedBy
but has RetentionPolicy.SOURCE
so it is not in published artifacts. We only apply this to private
members, so there is no reason to publish them and we avoid requiring end users to have to depend
on the annotations in their own build. See the original issue for more info.
This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.
-
Required Element Summary
Required Elements
-
Element Details
-
value
String valueThe name of the object guarding the target.
-