Generates typesafe, JSON-friendly Java classes with validation, from a description of input data as names and types