{"action":"created","issue":{"url":"https://api.github.com/repos/c-rack/cbor-java/issues/15","labels_url":"https://api.github.com/repos/c-rack/cbor-java/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/c-rack/cbor-java/issues/15/comments","events_url":"https://api.github.com/repos/c-rack/cbor-java/issues/15/events","html_url":"https://github.com/c-rack/cbor-java/issues/15","id":120862175,"number":15,"title":"High-level layer","user":{"login":"neothemachine","id":530988,"avatar_url":"https://avatars.githubusercontent.com/u/530988?v=3","gravatar_id":"","url":"https://api.github.com/users/neothemachine","html_url":"https://github.com/neothemachine","followers_url":"https://api.github.com/users/neothemachine/followers","following_url":"https://api.github.com/users/neothemachine/following{/other_user}","gists_url":"https://api.github.com/users/neothemachine/gists{/gist_id}","starred_url":"https://api.github.com/users/neothemachine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neothemachine/subscriptions","organizations_url":"https://api.github.com/users/neothemachine/orgs","repos_url":"https://api.github.com/users/neothemachine/repos","events_url":"https://api.github.com/users/neothemachine/events{/privacy}","received_events_url":"https://api.github.com/users/neothemachine/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/c-rack/cbor-java/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-07T20:37:55Z","updated_at":"2015-12-07T21:40:21Z","closed_at":null,"body":"I was wondering if it would make sense to add optional functionality where the input of encoding and output of decoding are Java objects like List, Map, etc. That would make it easier to use the library for the non-streaming case. Semantic tags could be handled in the encoding process by registering semantic tag handlers which would work on certain class/interface types. For example, a Date object could then automatically be tagged as such. Decoding would work similarly based on tag values."},"comment":{"url":"https://api.github.com/repos/c-rack/cbor-java/issues/comments/162672424","html_url":"https://github.com/c-rack/cbor-java/issues/15#issuecomment-162672424","issue_url":"https://api.github.com/repos/c-rack/cbor-java/issues/15","id":162672424,"user":{"login":"neothemachine","id":530988,"avatar_url":"https://avatars.githubusercontent.com/u/530988?v=3","gravatar_id":"","url":"https://api.github.com/users/neothemachine","html_url":"https://github.com/neothemachine","followers_url":"https://api.github.com/users/neothemachine/followers","following_url":"https://api.github.com/users/neothemachine/following{/other_user}","gists_url":"https://api.github.com/users/neothemachine/gists{/gist_id}","starred_url":"https://api.github.com/users/neothemachine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neothemachine/subscriptions","organizations_url":"https://api.github.com/users/neothemachine/orgs","repos_url":"https://api.github.com/users/neothemachine/repos","events_url":"https://api.github.com/users/neothemachine/events{/privacy}","received_events_url":"https://api.github.com/users/neothemachine/received_events","type":"User","site_admin":false},"created_at":"2015-12-07T21:40:21Z","updated_at":"2015-12-07T21:40:21Z","body":"Just to clarify, it sounds to me like you rather would put a high-level layer (sometimes called object mapper) in a separate library and keeping this one strictly to the low-level encoding/decoding, right?\r\n\r\nMy personal use case is that I'd like to encode packed arrays as detailed in this draft: https://tools.ietf.org/html/draft-jroatch-cbor-tags-03 It may become a standard but of course I want to use it now! :)\r\n\r\nI had a quick look into the code base. As far as I see, the encoder already easily supports custom tags, you just have to derive from one of the base classes and set the tag, like in the LanguageTaggedString. In the decoder there is currently optional hard-coded logic for some official tags. This means it's just about the decoder side really for which the tag handlers would apply.\r\n\r\nSince I'm only interested in encoding (doing decoding in JavaScript) I guess the best way would be if I create a library that has those packed array classes which can be used with your library while encoding. And about my other problem that I'd like to work on List's and Map's etc. that's probably yet another different library.\r\n\r\nDoes all what I said make sense? Did I miss anything?"}}