public interface FieldValueTransformer
At image build time, the field value transformer provides the value of the field for the image heap. Without a transformer, the value of the field in the image heap is the same as the hosted value in the image generator. A field value transformer allows to intercept the value. A field value transformer can, for example, reset a field to the default null/0 value, replace a filled collection with a new empty collection, or provide any kind of new value for a field.
Only one field value transformer can be registered for each field.
A field value transformer can be registered for fields of classes that are initialized at image run time. That allows constant folding of final fields even though the declaring class is not initialized at image build time.
A field value transformer must be registered before the field is seen as reachable by the static
analysis. It is generally safe to register a transformer in
the static analysis is started, in a
reachability handler for the declaring class of the field, or a
subtype reachability handler for
a super-type of the declaring class of the field.
The type of the returned object must be assignable to the declared type of the field. If the field has a primitive type, the return value must be a boxed value, and must not be null.