{"action":"created","comment":{"url":"https://api.github.com/repos/realm/realm-java/pulls/comments/57276179","id":57276179,"diff_hunk":"@@ -422,11 +553,117 @@ public int size() {\n             checkValidView();\n             return RealmQuery.createQueryFromList(this);\n         } else {\n-            throw new RealmException(ONLY_IN_MANAGED_MODE_MESSAGE);\n+            throw new UnsupportedOperationException(ONLY_IN_MANAGED_MODE_MESSAGE);\n+        }\n+    }\n+\n+    /**\n+     * {@inheritDoc}\n+     */\n+    @Override\n+    public Number min(String fieldName) {\n+        if (managedMode) {\n+            return this.where().min(fieldName);\n+        } else {\n+            throw new UnsupportedOperationException(ONLY_IN_MANAGED_MODE_MESSAGE);\n+        }\n+    }\n+\n+    /**\n+     * {@inheritDoc}\n+     */\n+    @Override\n+    public Number max(String fieldName) {\n+        if (managedMode) {\n+            return this.where().max(fieldName);\n+        } else {\n+            throw new UnsupportedOperationException(ONLY_IN_MANAGED_MODE_MESSAGE);\n+        }\n+    }\n+\n+    /**\n+     * {@inheritDoc}\n+     */\n+    @Override\n+    public Number sum(String fieldName) {\n+        if (managedMode) {\n+            return this.where().sum(fieldName);\n+        } else {\n+            throw new UnsupportedOperationException(ONLY_IN_MANAGED_MODE_MESSAGE);\n+        }\n+    }\n+\n+    /**\n+     * {@inheritDoc}\n+     */\n+    @Override\n+    public double average(String fieldName) {\n+        if (managedMode) {\n+            return this.where().average(fieldName);\n+        } else {\n+            throw new UnsupportedOperationException(ONLY_IN_MANAGED_MODE_MESSAGE);\n+        }\n+    }\n+\n+    /**\n+     * {@inheritDoc}\n+     */\n+    @Override\n+    public Date maxDate(String fieldName) {\n+        if (managedMode) {\n+            return this.where().maximumDate(fieldName);\n+        } else {\n+            throw new UnsupportedOperationException(ONLY_IN_MANAGED_MODE_MESSAGE);\n+        }\n+    }\n+\n+    /**\n+     * {@inheritDoc}\n+     */\n+    @Override\n+    public Date minDate(String fieldName) {\n+        if (managedMode) {\n+            return this.where().minimumDate(fieldName);\n+        } else {\n+            throw new UnsupportedOperationException(ONLY_IN_MANAGED_MODE_MESSAGE);\n         }\n     }\n \n     /**\n+     * {@inheritDoc}\n+     */\n+    @Override\n+    public boolean deleteAllFromRealm() {\n+        if (managedMode) {","path":"realm/realm-library/src/main/java/io/realm/RealmList.java","position":330,"original_position":330,"commit_id":"a5dc223f6ee957f8c7d7be56c56763a0122d7c48","original_commit_id":"a5dc223f6ee957f8c7d7be56c56763a0122d7c48","user":{"login":"nhachicha","id":1793238,"avatar_url":"https://avatars.githubusercontent.com/u/1793238?v=3","gravatar_id":"","url":"https://api.github.com/users/nhachicha","html_url":"https://github.com/nhachicha","followers_url":"https://api.github.com/users/nhachicha/followers","following_url":"https://api.github.com/users/nhachicha/following{/other_user}","gists_url":"https://api.github.com/users/nhachicha/gists{/gist_id}","starred_url":"https://api.github.com/users/nhachicha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nhachicha/subscriptions","organizations_url":"https://api.github.com/users/nhachicha/orgs","repos_url":"https://api.github.com/users/nhachicha/repos","events_url":"https://api.github.com/users/nhachicha/events{/privacy}","received_events_url":"https://api.github.com/users/nhachicha/received_events","type":"User","site_admin":false},"body":"check for write transaction","created_at":"2016-03-24T05:31:12Z","updated_at":"2016-03-24T05:31:12Z","html_url":"https://github.com/realm/realm-java/pull/2345#discussion_r57276179","pull_request_url":"https://api.github.com/repos/realm/realm-java/pulls/2345","_links":{"self":{"href":"https://api.github.com/repos/realm/realm-java/pulls/comments/57276179"},"html":{"href":"https://github.com/realm/realm-java/pull/2345#discussion_r57276179"},"pull_request":{"href":"https://api.github.com/repos/realm/realm-java/pulls/2345"}}},"pull_request":{"url":"https://api.github.com/repos/realm/realm-java/pulls/2345","id":60719321,"html_url":"https://github.com/realm/realm-java/pull/2345","diff_url":"https://github.com/realm/realm-java/pull/2345.diff","patch_url":"https://github.com/realm/realm-java/pull/2345.patch","issue_url":"https://api.github.com/repos/realm/realm-java/issues/2345","number":2345,"state":"open","locked":false,"title":"RealmCollection API","user":{"login":"cmelchior","id":406066,"avatar_url":"https://avatars.githubusercontent.com/u/406066?v=3","gravatar_id":"","url":"https://api.github.com/users/cmelchior","html_url":"https://github.com/cmelchior","followers_url":"https://api.github.com/users/cmelchior/followers","following_url":"https://api.github.com/users/cmelchior/following{/other_user}","gists_url":"https://api.github.com/users/cmelchior/gists{/gist_id}","starred_url":"https://api.github.com/users/cmelchior/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmelchior/subscriptions","organizations_url":"https://api.github.com/users/cmelchior/orgs","repos_url":"https://api.github.com/users/cmelchior/repos","events_url":"https://api.github.com/users/cmelchior/events{/privacy}","received_events_url":"https://api.github.com/users/cmelchior/received_events","type":"User","site_admin":false},"body":"Fixes #1363 \r\n\r\n# TODO\r\n\r\n- [x] Split existing unit tests so they work as parameterised tests.\r\n- [x] Implement new methods in RealmList.\r\n- [x] Implement new methods in RealmResults.\r\n- [x] Determine exactly what should happen with `remove`/`clear` for RealmResults. Core doesn't currently support mutating a TableView. RealmResults will have immutable behaviour until https://github.com/realm/realm-core/issues/1530 is fixed.\r\n- [x] Ensure that everybody is onboard with the naming of interfaces.\r\n- [ ] Should we shorten `delete*FromRealm` to just `delete*` ?\r\n- [x] `Realm.clear()` -> `Realm.delete/deleteAll`\r\n- [x] `RealmObject.removeFromRealm()` -> `RealmObject.deleteFromRealm()`\r\n- [x] Change BaseRealmAdapter to work with `RealmOrderedCollection`.\r\n\r\n**Behavior changes**\r\n- `first()`/`last()` now returns null instead of throwing an Exception if the collection is empty (RealmList did that / RealmResults threw an exception before).\r\n- `remove`/`removeAll`/`retainAll`/`clear` now all throws an UnsupportedException for RealmResults. All methods have been replaced by `delete*` instead.\r\n- `indexOf` no longer throws UnsupportedOperation on RealmResults.\r\n- `sort()` have been added to RealmList and both now returns a sorted copy instead of sorting in-place.\r\n- BaseRealm is now public. Should it be renamed to something else? `AbstractRealm`, `BaseRealm`?\r\n\r\n**Test coverage**\r\nCoverage (Instructions / Branches)\r\nRealmList: \r\nnew: 96% / 88%\r\nold: 89% / 78%\r\nRealmResults: \r\nnew: 92% / 88%\r\nold: 77% / 76%\r\n\r\n------\r\n# Discussion / Details\r\nThe primary driver for this is the following design goal\r\n\r\n1) Expose interfaces to UI components so they don't have to know the specific implementation.\r\n   This is currently a problem in `BaseRealmAdapter` that only accepts `RealmResults` but not \r\n   `RealmList`.\r\n\r\n2) Support future collection types.\r\n\r\n3) Mirror RealmCollectionType in Swift: https://realm.io/docs/swift/latest/api/Protocols/RealmCollectionType.html \r\n\r\n\r\n## The current situation\r\n\r\nRight now Realm exposes two collections: `RealmList` and `RealmResults`. Both extend from \r\n`AbstractList` but have different public interface behavior. Most noticeably around \r\n`List.remove()` which in `RealmList` only removes objects from the list, while in `RealmResult` \r\nit also removes the object from the underlying Realm.\r\n\r\nThis proposal also fixes these inconsistencies.\r\n\r\n## What collections do we need? \r\n\r\n```\r\n// Current collections\r\nRealmList\r\nRealmResults\r\n\r\n// Future collections\r\nRealmSet\r\nRealmMap\r\n\r\n// Even further in the future\r\nTreeRealmMap\r\nCustomRealmList\r\n...\r\n```\r\n\r\n## The proposal\r\n\r\nThe driving design principle was to mirror the structure in the Java Collection API to increase \r\nflexibility in regards to the number of collection types we implement later.\r\n\r\n\r\n```\r\n// New interfaces\r\n\r\npublic interface RealmCollection<E extends RealmObject> extends Collection {\r\n    // Query methods\r\n    RealmQuery<E> where();\r\n    Number min(String field);\r\n    Number max(String field);\r\n    Number sum(String field);\r\n    Number average(String field);\r\n    Date maxDate(String field);\r\n    Date minDate(String field);\r\n\r\n    // Removal from the underlying realm. `clear` will not\r\n    // do that anymore, only remove objects from the Collection.\r\n    boolean deleteAllFromRealm();\r\n\r\n    // Async methods ()\r\n    boolean isLoaded();\r\n    boolean load();\r\n    \r\n    boolean isValid();\r\n}\r\n\r\npublic interface OrderedRealmCollection<E extends RealmObject> extends List, RealmCollection {\r\n\r\n    // Removal from the underlying realm. `remove(location)` will not\r\n    // do that anymore, only remove objects from the Collection.\r\n    // delete* methods returns a boolean where possible to mimic `remove` behaviour.\r\n    void deleteFromRealm(int location);\r\n    boolean deleteFirstFromRealm();\r\n    boolean deleteLastFromRealm();\r\n\r\n    E first();\r\n    E last();\r\n\r\n    // These have been changed from sort-in-place to return a sorted copy. Only way to support      RealmList.sort() which isn't ready in core yet, but behaviour is also more flexible.\r\n    RealmResults<E> sort(String field);\r\n    RealmResults<E> sort(String field, Sort sortOrder);\r\n    RealmResults<E> sort(String field1, Sort sortOrder1, String field2, Sort sortOrder2);\r\n    RealmResults<E> sort(String[] fields, Sort[] sortOrders);\r\n}\r\n\r\npublic interface RealmUnorderedCollection extends Set, RealmCollection {\r\n    // Not used right now, so don't implement right away.\r\n}\r\n```\r\n\r\nMethods like `clear` and `remove` have origins the Collection API which is also why we have have method names like `RealmObject.removeFromRealm()` and `Realm.clear()` as we wanted to make that conncection stronger. However if we need to reserve the use of these methods to only operate on the collection, we should also strongly consider  renaming these methods to make them more apart from normal Collection methods. Swift uses `delete`/`deleteAll` and I propose we change to that terminology as well.\r\n\r\n* `Realm.clear()` -> `Realm.deleteAll()`\r\n* `Realm.clear(Class)` -> `Realm.delete(Class)`\r\n* `RealmObject.removeFromRealm()` -> `RealmObject.deleteFromRealm()`\r\n* `RealmList.removeAllFromRealm()` -> `RealmList.deleteAllFromRealm()`\r\n\r\n## Consequences\r\n\r\n- All collections now only modify the collection with the Collection API methods, i.e. data is not \r\n  removed from the underlying Realm using these methods. This is not a guarentee that objects that\r\n  the object is excluded always. In the case of RealmResults, it might appear again after a refresh\r\n  but since this proposal build on top of Delayed Notifactions, it will be gone until a ChangeListener\r\n  is triggered. This makes it possible to manipulate RealmResults much more freely than today, where\r\n  RealmResults are \"live\" at all times.\r\n\r\n- Since we are departing from using the Collection API to cover actual deletes from Realm this is\r\n  also a good change to unify the naming. This is a depature from previous decissions where we\r\n  wanted to stay as close as possible to the Collection API (which are now giving us a lot of \r\n  headache).\r\n\r\n- This proposal means that all collections will work like RealmList does today. It will introduce\r\n  a breaking change for RealmResults that need to move from `results.remove(index)` to \r\n  `results.deleteFromRealm(index)`.\r\n\r\n- Going forward this proposal means that all Collections no have the same semantics for the methods\r\n  implemented as well as enable the support of more advanced collection types later. \r\n\r\n\r\n### Observations and reasoning\r\n\r\n* List / Set / Map already used by the Java framework API\r\n\r\n* We cannot differentiate between Mutable and Immutable lists. We have to throw in RealmResults for \r\n  mutator methods  :(\r\n\r\n* CollectionType in Swift is not the same as Collection in Java. \r\n\r\n* Our current collections are very list-centric or \"ordered\".\r\n\r\n* Take-aways from the guys designing the offical Collection interface: \r\n  http://docs.oracle.com/javase/1.5.0/docs/guide/collections/designfaq.html#1\r\n\r\n* Java Collection API overview: http://ordinarygeek.me/wp-content/uploads/2009/12/collections-2.png\r\n\r\n* Even though the most accurate name for a shared class between `RealmResults` and `RealmList` would \r\n  be something like `AbstractRealmList` it would be a quite \"ugly\" name as input argument to a method.\r\n  RealmList would be much more accurate (and fit the List interface), but is unfortunately already\r\n  taken. This proposal suggests \"OrderedRealmCollection\" and \"UnorderedRealmCollection\".\r\n\r\n* RealmList does not support ChangeListeners, so change listeners will either be added later or split into their own interfaces. Once we have fine-grained notifications they will most likely influence the design of that.\r\n\r\n\r\n### Alternative names considered\r\n\r\n* RealmOrderedCollection:\r\n    - OrderedRealmCollection\r\n    - RealmEnumerable\r\n    - RealmAbstractList\r\n    - AbstractRealmList\r\n    - RealmCollectionType\r\n    - RealmList -> RealmArrayList. Raise RealmList to interface status.\r\n\r\n## Feedback requested\r\n\r\n* Is the proposal in general acceptable?\r\n* Naming: Do you like OrderedRealmCollection?\r\n* Naming: What do you think about renaming from `remove*` to `delete*`?\r\n* Should `remove`/`clear` be allowed for RealmResults or should it just throw?\r\n* Should we move all `delete*` methods to Realm instead of having them on `RealmObject`, `RealmResults` and `RealmList`?\r\n\r\n----\r\nEDIT\r\nRegarding sort methods. If we want to support sort on all `RealmOrderedCollection`s we need to use `RealmResults<Foo> sort(field, sort)` as a RealmList cannot be sorted in-place and needs to be converted to a RealmResults in order to so.","created_at":"2016-02-25T17:52:21Z","updated_at":"2016-03-24T05:31:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b57127f8b975139377bf31e15fdc72e47578f58c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/realm/realm-java/pulls/2345/commits","review_comments_url":"https://api.github.com/repos/realm/realm-java/pulls/2345/comments","review_comment_url":"https://api.github.com/repos/realm/realm-java/pulls/comments{/number}","comments_url":"https://api.github.com/repos/realm/realm-java/issues/2345/comments","statuses_url":"https://api.github.com/repos/realm/realm-java/statuses/a5dc223f6ee957f8c7d7be56c56763a0122d7c48","head":{"label":"realm:cm/collection-interfaces","ref":"cm/collection-interfaces","sha":"a5dc223f6ee957f8c7d7be56c56763a0122d7c48","user":{"login":"realm","id":7575099,"avatar_url":"https://avatars.githubusercontent.com/u/7575099?v=3","gravatar_id":"","url":"https://api.github.com/users/realm","html_url":"https://github.com/realm","followers_url":"https://api.github.com/users/realm/followers","following_url":"https://api.github.com/users/realm/following{/other_user}","gists_url":"https://api.github.com/users/realm/gists{/gist_id}","starred_url":"https://api.github.com/users/realm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/realm/subscriptions","organizations_url":"https://api.github.com/users/realm/orgs","repos_url":"https://api.github.com/users/realm/repos","events_url":"https://api.github.com/users/realm/events{/privacy}","received_events_url":"https://api.github.com/users/realm/received_events","type":"Organization","site_admin":false},"repo":{"id":4084908,"name":"realm-java","full_name":"realm/realm-java","owner":{"login":"realm","id":7575099,"avatar_url":"https://avatars.githubusercontent.com/u/7575099?v=3","gravatar_id":"","url":"https://api.github.com/users/realm","html_url":"https://github.com/realm","followers_url":"https://api.github.com/users/realm/followers","following_url":"https://api.github.com/users/realm/following{/other_user}","gists_url":"https://api.github.com/users/realm/gists{/gist_id}","starred_url":"https://api.github.com/users/realm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/realm/subscriptions","organizations_url":"https://api.github.com/users/realm/orgs","repos_url":"https://api.github.com/users/realm/repos","events_url":"https://api.github.com/users/realm/events{/privacy}","received_events_url":"https://api.github.com/users/realm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/realm/realm-java","description":"Realm is a mobile database: a replacement for SQLite & ORMs","fork":false,"url":"https://api.github.com/repos/realm/realm-java","forks_url":"https://api.github.com/repos/realm/realm-java/forks","keys_url":"https://api.github.com/repos/realm/realm-java/keys{/key_id}","collaborators_url":"https://api.github.com/repos/realm/realm-java/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/realm/realm-java/teams","hooks_url":"https://api.github.com/repos/realm/realm-java/hooks","issue_events_url":"https://api.github.com/repos/realm/realm-java/issues/events{/number}","events_url":"https://api.github.com/repos/realm/realm-java/events","assignees_url":"https://api.github.com/repos/realm/realm-java/assignees{/user}","branches_url":"https://api.github.com/repos/realm/realm-java/branches{/branch}","tags_url":"https://api.github.com/repos/realm/realm-java/tags","blobs_url":"https://api.github.com/repos/realm/realm-java/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/realm/realm-java/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/realm/realm-java/git/refs{/sha}","trees_url":"https://api.github.com/repos/realm/realm-java/git/trees{/sha}","statuses_url":"https://api.github.com/repos/realm/realm-java/statuses/{sha}","languages_url":"https://api.github.com/repos/realm/realm-java/languages","stargazers_url":"https://api.github.com/repos/realm/realm-java/stargazers","contributors_url":"https://api.github.com/repos/realm/realm-java/contributors","subscribers_url":"https://api.github.com/repos/realm/realm-java/subscribers","subscription_url":"https://api.github.com/repos/realm/realm-java/subscription","commits_url":"https://api.github.com/repos/realm/realm-java/commits{/sha}","git_commits_url":"https://api.github.com/repos/realm/realm-java/git/commits{/sha}","comments_url":"https://api.github.com/repos/realm/realm-java/comments{/number}","issue_comment_url":"https://api.github.com/repos/realm/realm-java/issues/comments{/number}","contents_url":"https://api.github.com/repos/realm/realm-java/contents/{+path}","compare_url":"https://api.github.com/repos/realm/realm-java/compare/{base}...{head}","merges_url":"https://api.github.com/repos/realm/realm-java/merges","archive_url":"https://api.github.com/repos/realm/realm-java/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/realm/realm-java/downloads","issues_url":"https://api.github.com/repos/realm/realm-java/issues{/number}","pulls_url":"https://api.github.com/repos/realm/realm-java/pulls{/number}","milestones_url":"https://api.github.com/repos/realm/realm-java/milestones{/number}","notifications_url":"https://api.github.com/repos/realm/realm-java/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/realm/realm-java/labels{/name}","releases_url":"https://api.github.com/repos/realm/realm-java/releases{/id}","deployments_url":"https://api.github.com/repos/realm/realm-java/deployments","created_at":"2012-04-20T09:18:42Z","updated_at":"2016-03-24T03:35:49Z","pushed_at":"2016-03-23T11:23:04Z","git_url":"git://github.com/realm/realm-java.git","ssh_url":"git@github.com:realm/realm-java.git","clone_url":"https://github.com/realm/realm-java.git","svn_url":"https://github.com/realm/realm-java","homepage":"http://realm.io","size":47167,"stargazers_count":4051,"watchers_count":4051,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":490,"mirror_url":null,"open_issues_count":220,"forks":490,"open_issues":220,"watchers":4051,"default_branch":"master"}},"base":{"label":"realm:master","ref":"master","sha":"61d14cbcb0419c1962f044500e34d92ac23112a4","user":{"login":"realm","id":7575099,"avatar_url":"https://avatars.githubusercontent.com/u/7575099?v=3","gravatar_id":"","url":"https://api.github.com/users/realm","html_url":"https://github.com/realm","followers_url":"https://api.github.com/users/realm/followers","following_url":"https://api.github.com/users/realm/following{/other_user}","gists_url":"https://api.github.com/users/realm/gists{/gist_id}","starred_url":"https://api.github.com/users/realm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/realm/subscriptions","organizations_url":"https://api.github.com/users/realm/orgs","repos_url":"https://api.github.com/users/realm/repos","events_url":"https://api.github.com/users/realm/events{/privacy}","received_events_url":"https://api.github.com/users/realm/received_events","type":"Organization","site_admin":false},"repo":{"id":4084908,"name":"realm-java","full_name":"realm/realm-java","owner":{"login":"realm","id":7575099,"avatar_url":"https://avatars.githubusercontent.com/u/7575099?v=3","gravatar_id":"","url":"https://api.github.com/users/realm","html_url":"https://github.com/realm","followers_url":"https://api.github.com/users/realm/followers","following_url":"https://api.github.com/users/realm/following{/other_user}","gists_url":"https://api.github.com/users/realm/gists{/gist_id}","starred_url":"https://api.github.com/users/realm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/realm/subscriptions","organizations_url":"https://api.github.com/users/realm/orgs","repos_url":"https://api.github.com/users/realm/repos","events_url":"https://api.github.com/users/realm/events{/privacy}","received_events_url":"https://api.github.com/users/realm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/realm/realm-java","description":"Realm is a mobile database: a replacement for SQLite & ORMs","fork":false,"url":"https://api.github.com/repos/realm/realm-java","forks_url":"https://api.github.com/repos/realm/realm-java/forks","keys_url":"https://api.github.com/repos/realm/realm-java/keys{/key_id}","collaborators_url":"https://api.github.com/repos/realm/realm-java/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/realm/realm-java/teams","hooks_url":"https://api.github.com/repos/realm/realm-java/hooks","issue_events_url":"https://api.github.com/repos/realm/realm-java/issues/events{/number}","events_url":"https://api.github.com/repos/realm/realm-java/events","assignees_url":"https://api.github.com/repos/realm/realm-java/assignees{/user}","branches_url":"https://api.github.com/repos/realm/realm-java/branches{/branch}","tags_url":"https://api.github.com/repos/realm/realm-java/tags","blobs_url":"https://api.github.com/repos/realm/realm-java/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/realm/realm-java/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/realm/realm-java/git/refs{/sha}","trees_url":"https://api.github.com/repos/realm/realm-java/git/trees{/sha}","statuses_url":"https://api.github.com/repos/realm/realm-java/statuses/{sha}","languages_url":"https://api.github.com/repos/realm/realm-java/languages","stargazers_url":"https://api.github.com/repos/realm/realm-java/stargazers","contributors_url":"https://api.github.com/repos/realm/realm-java/contributors","subscribers_url":"https://api.github.com/repos/realm/realm-java/subscribers","subscription_url":"https://api.github.com/repos/realm/realm-java/subscription","commits_url":"https://api.github.com/repos/realm/realm-java/commits{/sha}","git_commits_url":"https://api.github.com/repos/realm/realm-java/git/commits{/sha}","comments_url":"https://api.github.com/repos/realm/realm-java/comments{/number}","issue_comment_url":"https://api.github.com/repos/realm/realm-java/issues/comments{/number}","contents_url":"https://api.github.com/repos/realm/realm-java/contents/{+path}","compare_url":"https://api.github.com/repos/realm/realm-java/compare/{base}...{head}","merges_url":"https://api.github.com/repos/realm/realm-java/merges","archive_url":"https://api.github.com/repos/realm/realm-java/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/realm/realm-java/downloads","issues_url":"https://api.github.com/repos/realm/realm-java/issues{/number}","pulls_url":"https://api.github.com/repos/realm/realm-java/pulls{/number}","milestones_url":"https://api.github.com/repos/realm/realm-java/milestones{/number}","notifications_url":"https://api.github.com/repos/realm/realm-java/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/realm/realm-java/labels{/name}","releases_url":"https://api.github.com/repos/realm/realm-java/releases{/id}","deployments_url":"https://api.github.com/repos/realm/realm-java/deployments","created_at":"2012-04-20T09:18:42Z","updated_at":"2016-03-24T03:35:49Z","pushed_at":"2016-03-23T11:23:04Z","git_url":"git://github.com/realm/realm-java.git","ssh_url":"git@github.com:realm/realm-java.git","clone_url":"https://github.com/realm/realm-java.git","svn_url":"https://github.com/realm/realm-java","homepage":"http://realm.io","size":47167,"stargazers_count":4051,"watchers_count":4051,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":490,"mirror_url":null,"open_issues_count":220,"forks":490,"open_issues":220,"watchers":4051,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/realm/realm-java/pulls/2345"},"html":{"href":"https://github.com/realm/realm-java/pull/2345"},"issue":{"href":"https://api.github.com/repos/realm/realm-java/issues/2345"},"comments":{"href":"https://api.github.com/repos/realm/realm-java/issues/2345/comments"},"review_comments":{"href":"https://api.github.com/repos/realm/realm-java/pulls/2345/comments"},"review_comment":{"href":"https://api.github.com/repos/realm/realm-java/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/realm/realm-java/pulls/2345/commits"},"statuses":{"href":"https://api.github.com/repos/realm/realm-java/statuses/a5dc223f6ee957f8c7d7be56c56763a0122d7c48"}}}}