{"issue":{"state":"open","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"user":{"avatar_url":"https://secure.gravatar.com/avatar/663594d46a2ebfe53ae26e7e14e56f51?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"663594d46a2ebfe53ae26e7e14e56f51","url":"https://api.github.com/users/smillidge","login":"smillidge","id":939073},"milestone":null,"updated_at":"2011-10-28T03:16:00Z","labels":[],"assignee":null,"comments":9,"closed_at":null,"url":"https://api.github.com/repos/jsr107/jsr107spec/issues/19","body":"The following methods on the Cache Interface should use generics.\r\n\r\n  V get(Object key) throws CacheException;\r\n\r\nShould be V get(K key) throws CacheExcpetion;\r\n\r\nboolean containsKey(Object key) throws CacheException;\r\n\r\nShould be boolean containsKey(K key) throws CacheException;\r\n\r\n   boolean remove(Object key) throws CacheException;\r\n\r\nShould be    boolean remove(K key) throws CacheException;\r\n\r\n  boolean remove(Object key, V oldValue) throws CacheException;\r\n\r\nShould be   boolean remove(K key, V oldValue) throws CacheException;\r\n\r\n V getAndRemove(Object key) throws CacheException;\r\n\r\nShould be  V getAndRemove(K key) throws CacheException;\r\n\r\n\r\n\r\n","html_url":"https://github.com/jsr107/jsr107spec/issues/19","title":"Cache api should use  generics for methods that take a K key","number":19,"id":1734032,"created_at":"2011-09-25T16:26:26Z"},"action":"created","comment":{"user":{"avatar_url":"https://secure.gravatar.com/avatar/6beae78fd4d033568534f4c1155623c8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6beae78fd4d033568534f4c1155623c8","url":"https://api.github.com/users/gregrluck","login":"gregrluck","id":225924},"updated_at":"2011-10-28T03:16:00Z","url":"https://api.github.com/repos/jsr107/jsr107spec/issues/comments/2552127","body":"Because maybe there are other reasons. Changing away from an established convention requires reasons.\r\n\r\n\r\nOn 28/10/2011, at 8:57 AM, Yannis Cosmadopoulos wrote:\r\n\r\n> Why do you want a reference that \"only did it that for backward compatibility\". I can't think anyone is making that claim.\r\n> My point here is that this seems to be a straw horse - if we prove that Map did it NOT only for BC then what?\r\n> \r\n> My understanding is the equals example - Map allows\r\n> Map<ArrayList, Integer> m;\r\n> LinkedList key;\r\n> m.get(key);\r\n> which while \"cool\" is not a convincing example for crating a non intuitive API\r\n> \r\n> -- \r\n> Reply to this email directly or view it on GitHub:\r\n> https://github.com/jsr107/jsr107spec/issues/19#issuecomment-2550617\r\n\r\nRegards\r\n\r\nGreg Luck\r\n\r\nweb: http://gregluck.com\r\nskype: gregrluck\r\nyahoo: gregrluck\r\nmobile: +61 408 061 622","id":2552127,"created_at":"2011-10-28T03:16:00Z"}}