Package net.bytebuddy.dynamic.scaffold
Class TypeWriter.FieldPool.Record.ForExplicitField
java.lang.Object
net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForExplicitField
- All Implemented Interfaces:
TypeWriter.FieldPool.Record
- Enclosing interface:
- TypeWriter.FieldPool.Record
@Enhance
public static class TypeWriter.FieldPool.Record.ForExplicitField
extends Object
implements TypeWriter.FieldPool.Record
A record for a rich field with attributes and a potential default value.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record
TypeWriter.FieldPool.Record.ForExplicitField, TypeWriter.FieldPool.Record.ForImplicitField
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final FieldAttributeAppender
The attribute appender for the field.private final Object
The field's default value.private final FieldDescription
The implemented field. -
Constructor Summary
ConstructorsConstructorDescriptionForExplicitField
(FieldAttributeAppender attributeAppender, Object defaultValue, FieldDescription fieldDescription) Creates a record for a rich field. -
Method Summary
Modifier and TypeMethodDescriptionvoid
apply
(org.objectweb.asm.ClassVisitor classVisitor, AnnotationValueFilter.Factory annotationValueFilterFactory) Writes this entry to a given class visitor.void
apply
(org.objectweb.asm.FieldVisitor fieldVisitor, AnnotationValueFilter.Factory annotationValueFilterFactory) Applies this record to a field visitor.getField()
Returns the field that this record represents.Returns the field attribute appender for a given field.boolean
Determines if this record is implicit, i.e is not defined by aTypeWriter.FieldPool
.resolveDefault
(Object defaultValue) Resolves the default value that this record represents.
-
Field Details
-
attributeAppender
The attribute appender for the field. -
defaultValue
The field's default value. -
fieldDescription
The implemented field.
-
-
Constructor Details
-
ForExplicitField
public ForExplicitField(FieldAttributeAppender attributeAppender, @MaybeNull Object defaultValue, FieldDescription fieldDescription) Creates a record for a rich field.- Parameters:
attributeAppender
- The attribute appender for the field.defaultValue
- The field's default value.fieldDescription
- The implemented field.
-
-
Method Details
-
isImplicit
public boolean isImplicit()Determines if this record is implicit, i.e is not defined by aTypeWriter.FieldPool
.- Specified by:
isImplicit
in interfaceTypeWriter.FieldPool.Record
- Returns:
true
if this record is implicit.
-
getField
Returns the field that this record represents.- Specified by:
getField
in interfaceTypeWriter.FieldPool.Record
- Returns:
- The field that this record represents.
-
getFieldAppender
Returns the field attribute appender for a given field.- Specified by:
getFieldAppender
in interfaceTypeWriter.FieldPool.Record
- Returns:
- The attribute appender to be applied on the given field.
-
resolveDefault
Resolves the default value that this record represents. This is not possible for implicit records.- Specified by:
resolveDefault
in interfaceTypeWriter.FieldPool.Record
- Parameters:
defaultValue
- The default value that was defined previously ornull
if no default value is defined.- Returns:
- The default value for the represented field or
null
if no default value is to be defined.
-
apply
public void apply(org.objectweb.asm.ClassVisitor classVisitor, AnnotationValueFilter.Factory annotationValueFilterFactory) Writes this entry to a given class visitor.- Specified by:
apply
in interfaceTypeWriter.FieldPool.Record
- Parameters:
classVisitor
- The class visitor to which this entry is to be written to.annotationValueFilterFactory
- The annotation value filter factory to apply when writing annotations.
-
apply
public void apply(org.objectweb.asm.FieldVisitor fieldVisitor, AnnotationValueFilter.Factory annotationValueFilterFactory) Applies this record to a field visitor. This is not possible for implicit records.- Specified by:
apply
in interfaceTypeWriter.FieldPool.Record
- Parameters:
fieldVisitor
- The field visitor onto which this record is to be applied.annotationValueFilterFactory
- The annotation value filter factory to use for annotations.
-