Interface FieldRegistry

All Known Implementing Classes:
FieldRegistry.Default

public interface FieldRegistry
A field registry represents an extendable collection of fields which are identified by their names that are mapped to a given 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.
  • Method Details

    • prepend

      FieldRegistry prepend(LatentMatcher<? super FieldDescription> matcher, FieldAttributeAppender.Factory fieldAttributeAppenderFactory, @MaybeNull Object defaultValue, Transformer<FieldDescription> transformer)
      Prepends the given field definition to this field registry, i.e. this configuration is applied first.
      Parameters:
      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.
      Returns:
      An adapted version of this method registry.
    • compile

      FieldRegistry.Compiled compile(TypeDescription instrumentedType)
      Prepares the field registry for a given instrumented type.
      Parameters:
      instrumentedType - The instrumented type.
      Returns:
      A prepared field registry.