{"comment":{"commit_id":"f6093e2e7d10eab61e8207d12fc7b5026750b905","created_at":"2011-11-18T14:35:45Z","position":null,"updated_at":"2011-11-18T14:35:45Z","user":{"gravatar_id":"b6d5dc33cb79bcf0376cf5676646fc25","id":1188986,"url":"https://api.github.com/users/markmasse","login":"markmasse","avatar_url":"https://secure.gravatar.com/avatar/b6d5dc33cb79bcf0376cf5676646fc25?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"body":"For now I have the Field class and its related classes (including events and listeners) as generics. Meaning that the signatures related to Field's value use generic type \"T\" instead of Object. So there would be concrete classes (and maybe non-generic interfaces too) that fill in T with a type like String. For example TextField extends Field<String>. Not sure if that is the cleanest way to go or if it adds much value but it felt better to me than having untyped Object used all over the place.","id":730507,"path":null,"line":null,"html_url":"https://github.com/wrml/wrml-prototype/commit/f6093e2e7d#commitcomment-730507","url":"https://api.github.com/repos/wrml/wrml-prototype/comments/730507"}}