Refuses an empty string for a type other than String
All 4 scenarios hold
A blank cell converts to null for any nullable parameter type. Null is distinct from the empty string: '' and "" are empty values, not null.
An empty string is a value. It is not an absent value, so it reaches conversion where a blank cell does not. Only String has a built-in conversion from an empty string. Every other type fails and asks for a custom type converter.
The String row is the accepted case. Without it the rule reads as though no type accepts an empty string.
The quote style is not visible to this rule. The parser reads '' and "" as the same value, so the rows vary the parameter type.
Each failure message ends with the classes searched for a type converter. Those classes depend on where the test lives, so the table leaves them out.
| Scenario | Input value | Parameter type | Error message? |
|---|---|---|---|
| A String | “” | java.lang.String | |
| A collection | “” | java.util.List | Built-in conversion of value "" to type java.util.List failed. Are you missing a type converter for this conversion? |
| A boxed number | “” | java.lang.Integer | Built-in conversion of value "" to type java.lang.Integer failed. Are you missing a type converter for this conversion? |
| A primitive | “” | boolean | Built-in conversion of value "" to type boolean failed. Are you missing a type converter for this conversion? |