Class TypeWriter.FieldPool.Record.ForExplicitField

    • Field Detail

      • attributeAppender

        private final FieldAttributeAppender attributeAppender
        The attribute appender for the field.
      • defaultValue

        private final java.lang.Object defaultValue
        The field's default value.
      • fieldDescription

        private final FieldDescription fieldDescription
        The implemented field.
    • Constructor Detail

      • ForExplicitField

        public ForExplicitField​(FieldAttributeAppender attributeAppender,
                                java.lang.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 Detail

      • resolveDefault

        public java.lang.Object resolveDefault​(java.lang.Object defaultValue)
        Resolves the default value that this record represents. This is not possible for implicit records.
        Specified by:
        resolveDefault in interface TypeWriter.FieldPool.Record
        Parameters:
        defaultValue - The default value that was defined previously or null 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 interface TypeWriter.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 interface TypeWriter.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.