{"action":"closed","number":581,"pull_request":{"url":"https://api.github.com/repos/k9mail/k-9/pulls/581","id":31290394,"html_url":"https://github.com/k9mail/k-9/pull/581","diff_url":"https://github.com/k9mail/k-9/pull/581.diff","patch_url":"https://github.com/k9mail/k-9/pull/581.patch","issue_url":"https://api.github.com/repos/k9mail/k-9/issues/581","number":581,"state":"closed","locked":false,"title":"MessageReference class refactor","user":{"login":"vcaulier","id":9962309,"avatar_url":"https://avatars.githubusercontent.com/u/9962309?v=3","gravatar_id":"","url":"https://api.github.com/users/vcaulier","html_url":"https://github.com/vcaulier","followers_url":"https://api.github.com/users/vcaulier/followers","following_url":"https://api.github.com/users/vcaulier/following{/other_user}","gists_url":"https://api.github.com/users/vcaulier/gists{/gist_id}","starred_url":"https://api.github.com/users/vcaulier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcaulier/subscriptions","organizations_url":"https://api.github.com/users/vcaulier/orgs","repos_url":"https://api.github.com/users/vcaulier/repos","events_url":"https://api.github.com/users/vcaulier/events{/privacy}","received_events_url":"https://api.github.com/users/vcaulier/received_events","type":"User","site_admin":false},"body":"This one follows last @cketti note on #563 pull request.\r\nI've updated MessageReference and some method calls so it should be an <a href='http://docs.oracle.com/javase/tutorial/essential/concurrency/immutable.html'>immutable</a> object,\r\n<a href='http://docs.oracle.com/javase/tutorial/essential/concurrency/imstrat.html'>following Oracle documentation</a> :\r\n- Have begun with updating MessageReference, while keeping old code functionality\r\n- Next, old constructor calls and direct writes on the object have been updated to use another constructor with parameters\r\n- Then, all MessageReference fields have been set private, and final\r\n\r\nI've just one question on last point, this implementation seems to be heavy to use with flag changes;\r\nshould it be acceptable to let a setter for MessageReference's flag, as it is not part of the hashcode ?\r\n\r\n(I can split into smaller commits if better)","created_at":"2015-03-16T22:18:05Z","updated_at":"2015-04-03T21:33:43Z","closed_at":"2015-04-03T21:33:43Z","merged_at":"2015-04-03T21:33:43Z","merge_commit_sha":"21dbd388633ab1f729b5e441c8cf36a80852c954","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/k9mail/k-9/pulls/581/commits","review_comments_url":"https://api.github.com/repos/k9mail/k-9/pulls/581/comments","review_comment_url":"https://api.github.com/repos/k9mail/k-9/pulls/comments{/number}","comments_url":"https://api.github.com/repos/k9mail/k-9/issues/581/comments","statuses_url":"https://api.github.com/repos/k9mail/k-9/statuses/ebcd10d1b16f89d0277e1e5c2a3f2c740c9140e6","head":{"label":"BombTeam:MessageReferenceImmutability","ref":"MessageReferenceImmutability","sha":"ebcd10d1b16f89d0277e1e5c2a3f2c740c9140e6","user":{"login":"BombTeam","id":10401563,"avatar_url":"https://avatars.githubusercontent.com/u/10401563?v=3","gravatar_id":"","url":"https://api.github.com/users/BombTeam","html_url":"https://github.com/BombTeam","followers_url":"https://api.github.com/users/BombTeam/followers","following_url":"https://api.github.com/users/BombTeam/following{/other_user}","gists_url":"https://api.github.com/users/BombTeam/gists{/gist_id}","starred_url":"https://api.github.com/users/BombTeam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BombTeam/subscriptions","organizations_url":"https://api.github.com/users/BombTeam/orgs","repos_url":"https://api.github.com/users/BombTeam/repos","events_url":"https://api.github.com/users/BombTeam/events{/privacy}","received_events_url":"https://api.github.com/users/BombTeam/received_events","type":"Organization","site_admin":false},"repo":{"id":30293953,"name":"k-9","full_name":"BombTeam/k-9","owner":{"login":"BombTeam","id":10401563,"avatar_url":"https://avatars.githubusercontent.com/u/10401563?v=3","gravatar_id":"","url":"https://api.github.com/users/BombTeam","html_url":"https://github.com/BombTeam","followers_url":"https://api.github.com/users/BombTeam/followers","following_url":"https://api.github.com/users/BombTeam/following{/other_user}","gists_url":"https://api.github.com/users/BombTeam/gists{/gist_id}","starred_url":"https://api.github.com/users/BombTeam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BombTeam/subscriptions","organizations_url":"https://api.github.com/users/BombTeam/orgs","repos_url":"https://api.github.com/users/BombTeam/repos","events_url":"https://api.github.com/users/BombTeam/events{/privacy}","received_events_url":"https://api.github.com/users/BombTeam/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/BombTeam/k-9","description":"K-9 Mail, An advanced email client for Android","fork":true,"url":"https://api.github.com/repos/BombTeam/k-9","forks_url":"https://api.github.com/repos/BombTeam/k-9/forks","keys_url":"https://api.github.com/repos/BombTeam/k-9/keys{/key_id}","collaborators_url":"https://api.github.com/repos/BombTeam/k-9/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/BombTeam/k-9/teams","hooks_url":"https://api.github.com/repos/BombTeam/k-9/hooks","issue_events_url":"https://api.github.com/repos/BombTeam/k-9/issues/events{/number}","events_url":"https://api.github.com/repos/BombTeam/k-9/events","assignees_url":"https://api.github.com/repos/BombTeam/k-9/assignees{/user}","branches_url":"https://api.github.com/repos/BombTeam/k-9/branches{/branch}","tags_url":"https://api.github.com/repos/BombTeam/k-9/tags","blobs_url":"https://api.github.com/repos/BombTeam/k-9/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/BombTeam/k-9/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/BombTeam/k-9/git/refs{/sha}","trees_url":"https://api.github.com/repos/BombTeam/k-9/git/trees{/sha}","statuses_url":"https://api.github.com/repos/BombTeam/k-9/statuses/{sha}","languages_url":"https://api.github.com/repos/BombTeam/k-9/languages","stargazers_url":"https://api.github.com/repos/BombTeam/k-9/stargazers","contributors_url":"https://api.github.com/repos/BombTeam/k-9/contributors","subscribers_url":"https://api.github.com/repos/BombTeam/k-9/subscribers","subscription_url":"https://api.github.com/repos/BombTeam/k-9/subscription","commits_url":"https://api.github.com/repos/BombTeam/k-9/commits{/sha}","git_commits_url":"https://api.github.com/repos/BombTeam/k-9/git/commits{/sha}","comments_url":"https://api.github.com/repos/BombTeam/k-9/comments{/number}","issue_comment_url":"https://api.github.com/repos/BombTeam/k-9/issues/comments{/number}","contents_url":"https://api.github.com/repos/BombTeam/k-9/contents/{+path}","compare_url":"https://api.github.com/repos/BombTeam/k-9/compare/{base}...{head}","merges_url":"https://api.github.com/repos/BombTeam/k-9/merges","archive_url":"https://api.github.com/repos/BombTeam/k-9/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/BombTeam/k-9/downloads","issues_url":"https://api.github.com/repos/BombTeam/k-9/issues{/number}","pulls_url":"https://api.github.com/repos/BombTeam/k-9/pulls{/number}","milestones_url":"https://api.github.com/repos/BombTeam/k-9/milestones{/number}","notifications_url":"https://api.github.com/repos/BombTeam/k-9/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/BombTeam/k-9/labels{/name}","releases_url":"https://api.github.com/repos/BombTeam/k-9/releases{/id}","created_at":"2015-02-04T10:39:26Z","updated_at":"2015-03-21T10:58:55Z","pushed_at":"2015-03-21T10:58:54Z","git_url":"git://github.com/BombTeam/k-9.git","ssh_url":"git@github.com:BombTeam/k-9.git","clone_url":"https://github.com/BombTeam/k-9.git","svn_url":"https://github.com/BombTeam/k-9","homepage":"","size":36640,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"k9mail:master","ref":"master","sha":"16f09611fe1337ad9ab284a5684d6b4f803f6628","user":{"login":"k9mail","id":567044,"avatar_url":"https://avatars.githubusercontent.com/u/567044?v=3","gravatar_id":"","url":"https://api.github.com/users/k9mail","html_url":"https://github.com/k9mail","followers_url":"https://api.github.com/users/k9mail/followers","following_url":"https://api.github.com/users/k9mail/following{/other_user}","gists_url":"https://api.github.com/users/k9mail/gists{/gist_id}","starred_url":"https://api.github.com/users/k9mail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k9mail/subscriptions","organizations_url":"https://api.github.com/users/k9mail/orgs","repos_url":"https://api.github.com/users/k9mail/repos","events_url":"https://api.github.com/users/k9mail/events{/privacy}","received_events_url":"https://api.github.com/users/k9mail/received_events","type":"Organization","site_admin":false},"repo":{"id":1326671,"name":"k-9","full_name":"k9mail/k-9","owner":{"login":"k9mail","id":567044,"avatar_url":"https://avatars.githubusercontent.com/u/567044?v=3","gravatar_id":"","url":"https://api.github.com/users/k9mail","html_url":"https://github.com/k9mail","followers_url":"https://api.github.com/users/k9mail/followers","following_url":"https://api.github.com/users/k9mail/following{/other_user}","gists_url":"https://api.github.com/users/k9mail/gists{/gist_id}","starred_url":"https://api.github.com/users/k9mail/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k9mail/subscriptions","organizations_url":"https://api.github.com/users/k9mail/orgs","repos_url":"https://api.github.com/users/k9mail/repos","events_url":"https://api.github.com/users/k9mail/events{/privacy}","received_events_url":"https://api.github.com/users/k9mail/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/k9mail/k-9","description":"K-9 Mail – Advanced Email for Android","fork":false,"url":"https://api.github.com/repos/k9mail/k-9","forks_url":"https://api.github.com/repos/k9mail/k-9/forks","keys_url":"https://api.github.com/repos/k9mail/k-9/keys{/key_id}","collaborators_url":"https://api.github.com/repos/k9mail/k-9/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/k9mail/k-9/teams","hooks_url":"https://api.github.com/repos/k9mail/k-9/hooks","issue_events_url":"https://api.github.com/repos/k9mail/k-9/issues/events{/number}","events_url":"https://api.github.com/repos/k9mail/k-9/events","assignees_url":"https://api.github.com/repos/k9mail/k-9/assignees{/user}","branches_url":"https://api.github.com/repos/k9mail/k-9/branches{/branch}","tags_url":"https://api.github.com/repos/k9mail/k-9/tags","blobs_url":"https://api.github.com/repos/k9mail/k-9/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/k9mail/k-9/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/k9mail/k-9/git/refs{/sha}","trees_url":"https://api.github.com/repos/k9mail/k-9/git/trees{/sha}","statuses_url":"https://api.github.com/repos/k9mail/k-9/statuses/{sha}","languages_url":"https://api.github.com/repos/k9mail/k-9/languages","stargazers_url":"https://api.github.com/repos/k9mail/k-9/stargazers","contributors_url":"https://api.github.com/repos/k9mail/k-9/contributors","subscribers_url":"https://api.github.com/repos/k9mail/k-9/subscribers","subscription_url":"https://api.github.com/repos/k9mail/k-9/subscription","commits_url":"https://api.github.com/repos/k9mail/k-9/commits{/sha}","git_commits_url":"https://api.github.com/repos/k9mail/k-9/git/commits{/sha}","comments_url":"https://api.github.com/repos/k9mail/k-9/comments{/number}","issue_comment_url":"https://api.github.com/repos/k9mail/k-9/issues/comments{/number}","contents_url":"https://api.github.com/repos/k9mail/k-9/contents/{+path}","compare_url":"https://api.github.com/repos/k9mail/k-9/compare/{base}...{head}","merges_url":"https://api.github.com/repos/k9mail/k-9/merges","archive_url":"https://api.github.com/repos/k9mail/k-9/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/k9mail/k-9/downloads","issues_url":"https://api.github.com/repos/k9mail/k-9/issues{/number}","pulls_url":"https://api.github.com/repos/k9mail/k-9/pulls{/number}","milestones_url":"https://api.github.com/repos/k9mail/k-9/milestones{/number}","notifications_url":"https://api.github.com/repos/k9mail/k-9/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/k9mail/k-9/labels{/name}","releases_url":"https://api.github.com/repos/k9mail/k-9/releases{/id}","created_at":"2011-02-04T02:40:00Z","updated_at":"2015-04-03T21:33:44Z","pushed_at":"2015-04-03T21:33:41Z","git_url":"git://github.com/k9mail/k-9.git","ssh_url":"git@github.com:k9mail/k-9.git","clone_url":"https://github.com/k9mail/k-9.git","svn_url":"https://github.com/k9mail/k-9","homepage":"","size":83024,"stargazers_count":1815,"watchers_count":1815,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1142,"mirror_url":null,"open_issues_count":44,"forks":1142,"open_issues":44,"watchers":1815,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/k9mail/k-9/pulls/581"},"html":{"href":"https://github.com/k9mail/k-9/pull/581"},"issue":{"href":"https://api.github.com/repos/k9mail/k-9/issues/581"},"comments":{"href":"https://api.github.com/repos/k9mail/k-9/issues/581/comments"},"review_comments":{"href":"https://api.github.com/repos/k9mail/k-9/pulls/581/comments"},"review_comment":{"href":"https://api.github.com/repos/k9mail/k-9/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/k9mail/k-9/pulls/581/commits"},"statuses":{"href":"https://api.github.com/repos/k9mail/k-9/statuses/ebcd10d1b16f89d0277e1e5c2a3f2c740c9140e6"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"cketti","id":218061,"avatar_url":"https://avatars.githubusercontent.com/u/218061?v=3","gravatar_id":"","url":"https://api.github.com/users/cketti","html_url":"https://github.com/cketti","followers_url":"https://api.github.com/users/cketti/followers","following_url":"https://api.github.com/users/cketti/following{/other_user}","gists_url":"https://api.github.com/users/cketti/gists{/gist_id}","starred_url":"https://api.github.com/users/cketti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cketti/subscriptions","organizations_url":"https://api.github.com/users/cketti/orgs","repos_url":"https://api.github.com/users/cketti/repos","events_url":"https://api.github.com/users/cketti/events{/privacy}","received_events_url":"https://api.github.com/users/cketti/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"commits":4,"additions":123,"deletions":90,"changed_files":10}}