-
Improvement
-
Resolution: Done
-
Medium
-
None
-
None
We are currently tagging all encapsulated values with TypeObject, which is okay enough for the uses we have. Unfortunately most of these actually expose a getValue() method, which is guaranteed to return a non-null value which is encapsulated by the object.
In order to make these types more usable in data manipulation we really need to introduce a common interface these are implementing, so that we can properly express their classes:
public interface ScalarTypeObject<T> extends TypeObject { @NonNull T getValue(); }
would capture the relatiionship correctly.