Annotation Interface PrimaryConstructor
This is used to create very simple Codecs for classes. It will always create
record codecs that fill values. Default values are not directly supported but
can be easily added by creating custom smaller sub-codecs.
Can be added to a
record
definition or exactly one constructor
in a class. The Codec will then be generated based on the parameters of that
record or constructor.
To retrieve the codec, use the Codecs
class.
For each parameter, there must either be a public field with the same name,
a method with no arguments and the name of the parameter, or a java bean
styled getter method for the parameter name. This will then be used by the
codec for serialisation.
For each parameter, ModInit attempts to generate a matching codec field.
There are multiple types of codec fields. Each of them has an annotation that
can be applied to disable auto-detection and force a specific type or to help
ModInit detect the type correctly.
Currently the following field types are supported:
Parameter Fields
. These are the default for everything
that is not covered by a different type.