Disjunctions should admit only one value. With the current code, the way to create an object for a disjunction looks:
StringOrBool value = new StringOrBool();
value.string = "abc";
value.bool = true;
So its able to accept more than one value, but the result is going to be the first one evaluated in the serialised process. Apart of this, this is super annoying way to create a disjunction that should only accept one option.
With this change, we only can create this object like:
The modifier of their fields and default constructor (the one without parameters) become protected. This modifier only allows internal package use to simplify the access to serializers and deserializers.
Note: The PR changes the import order because this was evaluating the types of the field before and now is done inside the template.
Contributes to: https://github.com/grafana/cog/issues/512
Disjunctions should admit only one value. With the current code, the way to create an object for a disjunction looks:
So its able to accept more than one value, but the result is going to be the first one evaluated in the serialised process. Apart of this, this is super annoying way to create a disjunction that should only accept one option.
With this change, we only can create this object like:
The modifier of their fields and default constructor (the one without parameters) become
protected
. This modifier only allows internal package use to simplify the access to serializers and deserializers.Note: The PR changes the import order because this was evaluating the types of the field before and now is done inside the template.