{"action":"created","issue":{"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/issues/209","labels_url":"https://api.github.com/repos/SpongePowered/SpongeCommon/issues/209/labels{/name}","comments_url":"https://api.github.com/repos/SpongePowered/SpongeCommon/issues/209/comments","events_url":"https://api.github.com/repos/SpongePowered/SpongeCommon/issues/209/events","html_url":"https://github.com/SpongePowered/SpongeCommon/pull/209","id":111924831,"number":209,"title":"Move DataBuilder code into a shared class","user":{"login":"JBYoshi","id":12983479,"avatar_url":"https://avatars.githubusercontent.com/u/12983479?v=3","gravatar_id":"","url":"https://api.github.com/users/JBYoshi","html_url":"https://github.com/JBYoshi","followers_url":"https://api.github.com/users/JBYoshi/followers","following_url":"https://api.github.com/users/JBYoshi/following{/other_user}","gists_url":"https://api.github.com/users/JBYoshi/gists{/gist_id}","starred_url":"https://api.github.com/users/JBYoshi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JBYoshi/subscriptions","organizations_url":"https://api.github.com/users/JBYoshi/orgs","repos_url":"https://api.github.com/users/JBYoshi/repos","events_url":"https://api.github.com/users/JBYoshi/events{/privacy}","received_events_url":"https://api.github.com/users/JBYoshi/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/labels/input%20wanted","name":"input wanted","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-16T22:46:05Z","updated_at":"2015-10-17T02:01:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/pulls/209","html_url":"https://github.com/SpongePowered/SpongeCommon/pull/209","diff_url":"https://github.com/SpongePowered/SpongeCommon/pull/209.diff","patch_url":"https://github.com/SpongePowered/SpongeCommon/pull/209.patch"},"body":"It seems that the `DataBuilder`s have quite a bit of code shared with their corresponding `DataProcessor`s. This PR moves the code into a shared class, `SpongeDataBuilder`, which uses reflection for `create()` and delegates `createFrom(DataHolder)` and `build(DataView)` to the `DataProcessor`. This PR also provides implementations for `ImmutableDataBuilder` via `SpongeImmutableDataBuilder`.\r\n\r\n@gabizou Thoughts?"},"comment":{"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/issues/comments/148876622","html_url":"https://github.com/SpongePowered/SpongeCommon/pull/209#issuecomment-148876622","issue_url":"https://api.github.com/repos/SpongePowered/SpongeCommon/issues/209","id":148876622,"user":{"login":"Deamon5550","id":1249030,"avatar_url":"https://avatars.githubusercontent.com/u/1249030?v=3","gravatar_id":"","url":"https://api.github.com/users/Deamon5550","html_url":"https://github.com/Deamon5550","followers_url":"https://api.github.com/users/Deamon5550/followers","following_url":"https://api.github.com/users/Deamon5550/following{/other_user}","gists_url":"https://api.github.com/users/Deamon5550/gists{/gist_id}","starred_url":"https://api.github.com/users/Deamon5550/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Deamon5550/subscriptions","organizations_url":"https://api.github.com/users/Deamon5550/orgs","repos_url":"https://api.github.com/users/Deamon5550/repos","events_url":"https://api.github.com/users/Deamon5550/events{/privacy}","received_events_url":"https://api.github.com/users/Deamon5550/received_events","type":"User","site_admin":false},"created_at":"2015-10-17T02:01:15Z","updated_at":"2015-10-17T02:01:15Z","body":"Just something to keep in mind."}}