public interface FieldRegistry
FieldAttributeAppender
. Fields
can be uniquely identified by their name for a given type since fields are never inherited.
This registry is the counterpart of a
MethodRegistry
.
However, a field registry is implemented simpler since it does not have to deal with complex signatures or
inheritance. For the sake of consistency, the field registry follows however a similar pattern without introducing
unnecessary complexity.Modifier and Type | Interface and Description |
---|---|
static interface |
FieldRegistry.Compiled
Represents a compiled field registry.
|
static class |
FieldRegistry.Default
An immutable default implementation of a field registry.
|
Modifier and Type | Method and Description |
---|---|
FieldRegistry.Compiled |
compile(TypeDescription instrumentedType)
Prepares the field registry for a given instrumented type.
|
FieldRegistry |
prepend(LatentMatcher<? super FieldDescription> matcher,
FieldAttributeAppender.Factory fieldAttributeAppenderFactory,
Object defaultValue,
Transformer<FieldDescription> transformer)
Prepends the given field definition to this field registry, i.e.
|
FieldRegistry prepend(LatentMatcher<? super FieldDescription> matcher, FieldAttributeAppender.Factory fieldAttributeAppenderFactory, @MaybeNull Object defaultValue, Transformer<FieldDescription> transformer)
matcher
- The matcher to identify any field that this definition concerns.fieldAttributeAppenderFactory
- The field attribute appender factory to apply on any matched field.defaultValue
- The default value to write to the field or null
if no default value is to be set for the field.transformer
- The field transformer to apply to any matched field.FieldRegistry.Compiled compile(TypeDescription instrumentedType)
instrumentedType
- The instrumented type.Copyright © 2014–2024. All rights reserved.