Interface GenericValueMapper<T,E extends JsonElement,C>

Type Parameters:
T - The type that this mapper can serialise.
E - The JSON element type this mapper uses.
C - The element type. Should be a type variable in most cases.

public interface GenericValueMapper<T,E extends JsonElement,C>
A value mapper for a generic type. This will get the value mapper for the generic that has been used to declare the config field. For example you could create a value mapper for lists that would then get passed a value mapper for the elements of the list so it can fully serialise it. A limitation with these is that you can only have one generic parameter for which you can get a value mapper. Only LibX builtin mappers can have multiple of these. When extending this, you should make the type argument T dependent on C. For example for lists, you should do ListValueMapper&lt;T&gt; implements GenericValueMapper&lt;List&lt;T&gt;, JsonArray, T&gt;. Then you can register a ListValueMapper&lt;?&gt;.