Full Code of realm/realm-java for AI

main e5f4caac29d2 cached
1417 files
10.1 MB
2.7M tokens
11653 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (10,924K chars total). Download the full file to get everything.
Repository: realm/realm-java
Branch: main
Commit: e5f4caac29d2
Files: 1417
Total size: 10.1 MB

Directory structure:
gitextract_frl3iah0/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   └── config.yml
│   ├── advanced-issue-labeler.yml
│   ├── auto_assign.yml
│   ├── no-response.yml
│   └── workflows/
│       ├── Issue-Needs-Attention.yml
│       ├── auto-assign.yml
│       ├── check-changelog.yml
│       ├── check-pr-title.yml
│       ├── gradle-wrapper-validation.yml
│       ├── issue-labeler.yml
│       ├── lock-threads.yml
│       └── no-response.yml
├── .gitignore
├── .gitmodules
├── CHANGELOG.md
├── CONTRIBUTING.md
├── Dockerfile
├── Jenkinsfile
├── LICENSE
├── README.md
├── SUPPORT.md
├── build.gradle
├── dependencies.list
├── docs/
│   ├── README.md
│   └── guides/
│       ├── adapters.md
│       ├── async-api.md
│       ├── crud/
│       │   ├── create.md
│       │   ├── delete.md
│       │   ├── filter-data.md
│       │   ├── read.md
│       │   ├── threading.md
│       │   └── update.md
│       ├── crud.md
│       ├── install.md
│       ├── model-data/
│       │   ├── data-types/
│       │   │   ├── collections.md
│       │   │   ├── counters.md
│       │   │   ├── embedded-objects.md
│       │   │   ├── enums.md
│       │   │   ├── field-types.md
│       │   │   ├── realmany.md
│       │   │   ├── realmdictionary.md
│       │   │   └── realmset.md
│       │   ├── data-types.md
│       │   ├── define-a-realm-object-model.md
│       │   ├── modify-an-object-schema.md
│       │   └── relationships.md
│       ├── model-data.md
│       ├── quick-start-local.md
│       ├── react-to-changes.md
│       ├── realm-files/
│       │   ├── bundle-a-realm.md
│       │   ├── encryption.md
│       │   └── open-and-close-a-realm.md
│       ├── realm-files.md
│       ├── realm-query-language.md
│       ├── test-and-debug/
│       │   ├── debugging.md
│       │   ├── log-realm-events.md
│       │   ├── testing.md
│       │   └── troubleshooting.md
│       └── troubleshooting.md
├── examples/
│   ├── architectureComponentsExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── arch/
│   │           │                   ├── ArchExampleActivity.java
│   │           │                   ├── BackgroundTask.java
│   │           │                   ├── CustomApplication.java
│   │           │                   ├── PersonFragment.java
│   │           │                   ├── PersonListFragment.java
│   │           │                   ├── PersonListViewModel.java
│   │           │                   ├── PersonViewModel.java
│   │           │                   ├── livemodel/
│   │           │                   │   ├── LiveRealmObject.java
│   │           │                   │   └── LiveRealmResults.java
│   │           │                   ├── model/
│   │           │                   │   └── Person.java
│   │           │                   └── utils/
│   │           │                       └── ContextUtils.java
│   │           └── res/
│   │               ├── drawable/
│   │               │   ├── ic_play_arrow_black_24dp.xml
│   │               │   └── ic_stop_black_24dp.xml
│   │               ├── layout/
│   │               │   ├── activity_arch_example.xml
│   │               │   ├── fragment_person.xml
│   │               │   ├── fragment_person_list.xml
│   │               │   └── item_person.xml
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── build.gradle
│   ├── compatibilityExample/
│   │   ├── README.md
│   │   ├── build.gradle
│   │   ├── gradle.properties
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── compatibility/
│   │           │                   ├── MyActivity.kt
│   │           │                   └── MyApplication.kt
│   │           └── res/
│   │               ├── layout/
│   │               │   └── activity_my_activty.xml
│   │               └── values/
│   │                   ├── dimens.xml
│   │                   ├── realm_colors.xml
│   │                   ├── strings.xml
│   │                   └── styles.xml
│   ├── coroutinesExample/
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── coroutinesexample/
│   │           │                   ├── MainActivity.kt
│   │           │                   ├── MainApplication.kt
│   │           │                   ├── data/
│   │           │                   │   └── newsreader/
│   │           │                   │       ├── local/
│   │           │                   │       │   ├── RealmNYTDao.kt
│   │           │                   │       │   ├── RealmNYTimes.kt
│   │           │                   │       │   └── repository/
│   │           │                   │       │       └── NewsReaderRepository.kt
│   │           │                   │       └── network/
│   │           │                   │           ├── NYTimesApiClient.kt
│   │           │                   │           ├── NYTimesService.kt
│   │           │                   │           └── model/
│   │           │                   │               └── NYTimes.kt
│   │           │                   ├── di/
│   │           │                   │   └── DependencyGraph.kt
│   │           │                   ├── ui/
│   │           │                   │   ├── details/
│   │           │                   │   │   ├── DetailsFragment.kt
│   │           │                   │   │   └── DetailsViewModel.kt
│   │           │                   │   └── main/
│   │           │                   │       ├── MainAdapter.kt
│   │           │                   │       ├── MainFragment.kt
│   │           │                   │       └── MainViewModel.kt
│   │           │                   └── util/
│   │           │                       └── NewsReaderFlowFactory.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   └── ic_launcher_background.xml
│   │               ├── drawable-v24/
│   │               │   └── ic_launcher_foreground.xml
│   │               ├── layout/
│   │               │   ├── activity_main.xml
│   │               │   ├── fragment_details.xml
│   │               │   ├── fragment_main.xml
│   │               │   └── item_article.xml
│   │               ├── mipmap-anydpi-v26/
│   │               │   ├── ic_launcher.xml
│   │               │   └── ic_launcher_round.xml
│   │               └── values/
│   │                   ├── colors.xml
│   │                   ├── dimens.xml
│   │                   ├── strings.xml
│   │                   ├── styles.xml
│   │                   └── themes.xml
│   ├── encryptionExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── encryption/
│   │           │                   ├── EncryptionExampleActivity.java
│   │           │                   ├── MyApplication.java
│   │           │                   ├── Person.java
│   │           │                   └── Util.java
│   │           └── res/
│   │               └── values/
│   │                   ├── strings.xml
│   │                   └── styles.xml
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── gridViewExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   ├── proguard-rules.pro
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── assets/
│   │           │   └── cities.json
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── realmgridview/
│   │           │                   ├── City.java
│   │           │                   ├── CityAdapter.java
│   │           │                   ├── GridViewExampleActivity.java
│   │           │                   └── MyApplication.java
│   │           └── res/
│   │               ├── layout/
│   │               │   ├── activity_realm_example.xml
│   │               │   └── city_listitem.xml
│   │               └── values/
│   │                   ├── strings.xml
│   │                   └── styles.xml
│   ├── introExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── intro/
│   │           │                   ├── IntroExampleActivity.java
│   │           │                   ├── MyApplication.java
│   │           │                   └── model/
│   │           │                       ├── Cat.java
│   │           │                       ├── Dog.java
│   │           │                       └── Person.java
│   │           └── res/
│   │               ├── layout/
│   │               │   └── activity_realm_basic_example.xml
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── jsonExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   ├── lombok.config
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── assets/
│   │           │   └── cities.json
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── json/
│   │           │                   ├── City.java
│   │           │                   ├── CityAdapter.java
│   │           │                   ├── JsonExampleActivity.java
│   │           │                   └── MyApplication.java
│   │           └── res/
│   │               ├── layout/
│   │               │   ├── activity_realm_example.xml
│   │               │   └── city_listitem.xml
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── kotlinExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── kotlin/
│   │           │                   ├── KotlinExampleActivity.kt
│   │           │                   ├── MyApplication.kt
│   │           │                   └── model/
│   │           │                       ├── Cat.kt
│   │           │                       ├── Dog.kt
│   │           │                       └── Person.kt
│   │           └── res/
│   │               ├── layout/
│   │               │   └── activity_realm_basic_example.xml
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── migrationExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── realmmigrationexample/
│   │           │                   ├── MigrationExampleActivity.java
│   │           │                   ├── MyApplication.java
│   │           │                   └── model/
│   │           │                       ├── Migration.java
│   │           │                       ├── Person.java
│   │           │                       └── Pet.java
│   │           └── res/
│   │               ├── layout/
│   │               │   └── activity_realm_migration_example.xml
│   │               ├── raw/
│   │               │   ├── default0.realm
│   │               │   ├── default1.realm
│   │               │   └── default2.realm
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── moduleExample/
│   │   ├── app/
│   │   │   ├── build.gradle
│   │   │   ├── keystore/
│   │   │   │   └── release.keystore
│   │   │   ├── lint.xml
│   │   │   ├── proguard-rules.pro
│   │   │   └── src/
│   │   │       └── main/
│   │   │           ├── AndroidManifest.xml
│   │   │           ├── java/
│   │   │           │   └── io/
│   │   │           │       └── realm/
│   │   │           │           └── examples/
│   │   │           │               └── appmodules/
│   │   │           │                   ├── ModulesExampleActivity.java
│   │   │           │                   ├── MyApplication.java
│   │   │           │                   ├── model/
│   │   │           │                   │   ├── Cow.java
│   │   │           │                   │   ├── CrossModuleLinks.java
│   │   │           │                   │   ├── Pig.java
│   │   │           │                   │   ├── Snake.java
│   │   │           │                   │   └── Spider.java
│   │   │           │                   └── modules/
│   │   │           │                       └── CreepyAnimalsModule.java
│   │   │           └── res/
│   │   │               ├── layout/
│   │   │               │   └── activity_modules_example.xml
│   │   │               ├── values/
│   │   │               │   ├── dimens.xml
│   │   │               │   ├── strings.xml
│   │   │               │   └── styles.xml
│   │   │               └── values-w820dp/
│   │   │                   └── dimens.xml
│   │   └── library/
│   │       ├── build.gradle
│   │       ├── lint.xml
│   │       └── src/
│   │           └── main/
│   │               ├── AndroidManifest.xml
│   │               ├── java/
│   │               │   └── io/
│   │               │       └── realm/
│   │               │           └── examples/
│   │               │               └── librarymodules/
│   │               │                   ├── Zoo.java
│   │               │                   ├── model/
│   │               │                   │   ├── Cat.java
│   │               │                   │   ├── Dog.java
│   │               │                   │   ├── Elephant.java
│   │               │                   │   ├── EmbeddedAnimal.java
│   │               │                   │   ├── Lion.java
│   │               │                   │   └── Zebra.java
│   │               │                   └── modules/
│   │               │                       ├── AllAnimalsModule.java
│   │               │                       ├── DomesticAnimalsModule.java
│   │               │                       └── ZooAnimalsModule.java
│   │               └── res/
│   │                   └── values/
│   │                       └── strings.xml
│   ├── mongoDbRealmExample/
│   │   ├── README.md
│   │   ├── build.gradle
│   │   ├── gradle.properties
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── com/
│   │           │       └── mongodb/
│   │           │           └── realm/
│   │           │               └── example/
│   │           │                   ├── CounterActivity.kt
│   │           │                   ├── LoginActivity.kt
│   │           │                   ├── MyApplication.kt
│   │           │                   └── model/
│   │           │                       └── CRDTCounter.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   └── button_counter.xml
│   │               ├── layout/
│   │               │   ├── activity_counter.xml
│   │               │   └── activity_login.xml
│   │               ├── menu/
│   │               │   └── menu_counter.xml
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── realm_colors.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── multiprocessExample/
│   │   ├── .gitignore
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── realmmultiprocessexample/
│   │           │                   ├── AnotherProcessService.java
│   │           │                   ├── MainActivity.java
│   │           │                   ├── MyApplication.java
│   │           │                   ├── Utils.java
│   │           │                   └── models/
│   │           │                       └── ProcessInfo.java
│   │           └── res/
│   │               ├── layout/
│   │               │   └── activity_main.xml
│   │               ├── values/
│   │               │   ├── colors.xml
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── rxJavaExample/
│   │   ├── README.md
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── rxjava/
│   │           │                   ├── MainActivity.java
│   │           │                   ├── MyApplication.java
│   │           │                   ├── animation/
│   │           │                   │   └── AnimationActivity.java
│   │           │                   ├── gotchas/
│   │           │                   │   └── GotchasActivity.java
│   │           │                   ├── model/
│   │           │                   │   └── Person.java
│   │           │                   ├── retrofit/
│   │           │                   │   ├── GitHubApi.java
│   │           │                   │   ├── GitHubUser.java
│   │           │                   │   ├── RetrofitExample.java
│   │           │                   │   └── UserViewModel.java
│   │           │                   └── throttle/
│   │           │                       └── ThrottleSearchActivity.java
│   │           └── res/
│   │               ├── layout/
│   │               │   ├── activity_animations.xml
│   │               │   ├── activity_gotchas.xml
│   │               │   ├── activity_main.xml
│   │               │   ├── activity_network.xml
│   │               │   └── activity_throttlesearch.xml
│   │               ├── values/
│   │               │   ├── colors.xml
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── settings.gradle
│   ├── threadExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── threads/
│   │           │                   ├── AsyncQueryFragment.java
│   │           │                   ├── AsyncTaskFragment.java
│   │           │                   ├── MyApplication.java
│   │           │                   ├── PassingObjectsFragment.java
│   │           │                   ├── ReceivingActivity.java
│   │           │                   ├── ReceivingService.java
│   │           │                   ├── ThreadExampleActivity.java
│   │           │                   ├── ThreadFragment.java
│   │           │                   ├── WakefulReceivingBroadcastReceiver.java
│   │           │                   ├── WakefulReceivingService.java
│   │           │                   ├── model/
│   │           │                   │   ├── Dot.java
│   │           │                   │   ├── Person.java
│   │           │                   │   └── Score.java
│   │           │                   └── widget/
│   │           │                       └── DotsView.java
│   │           └── res/
│   │               ├── layout/
│   │               │   ├── activity_main.xml
│   │               │   ├── activity_receiving.xml
│   │               │   ├── fragment_async_query.xml
│   │               │   ├── fragment_asynctask.xml
│   │               │   ├── fragment_passing_objects.xml
│   │               │   └── fragment_thread.xml
│   │               ├── menu/
│   │               │   └── menu_backgroundthread.xml
│   │               └── values/
│   │                   ├── colors.xml
│   │                   ├── dimens.xml
│   │                   ├── strings.xml
│   │                   └── styles.xml
│   └── unitTestExample/
│       ├── README.md
│       ├── build.gradle
│       ├── gradle.properties
│       ├── lint.xml
│       └── src/
│           ├── androidTest/
│           │   └── java/
│           │       └── io/
│           │           └── realm/
│           │               └── examples/
│           │                   └── unittesting/
│           │                       └── jUnit4ExampleTest.java
│           ├── main/
│           │   ├── AndroidManifest.xml
│           │   ├── java/
│           │   │   └── io/
│           │   │       └── realm/
│           │   │           └── examples/
│           │   │               └── unittesting/
│           │   │                   ├── ExampleActivity.java
│           │   │                   ├── model/
│           │   │                   │   ├── Cat.java
│           │   │                   │   ├── Dog.java
│           │   │                   │   └── Person.java
│           │   │                   └── repository/
│           │   │                       ├── DogRepository.java
│           │   │                       └── DogRepositoryImpl.java
│           │   └── res/
│           │       ├── layout/
│           │       │   └── activity_example.xml
│           │       ├── values/
│           │       │   ├── colors.xml
│           │       │   ├── dimens.xml
│           │       │   ├── strings.xml
│           │       │   └── styles.xml
│           │       └── values-w820dp/
│           │           └── dimens.xml
│           └── test/
│               └── java/
│                   └── io/
│                       └── realm/
│                           └── examples/
│                               └── unittesting/
│                                   ├── ExampleActivityTest.java
│                                   └── ExampleRealmTest.java
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle-plugin/
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle
│   └── src/
│       ├── main/
│       │   ├── kotlin/
│       │   │   └── io/
│       │   │       └── realm/
│       │   │           └── gradle/
│       │   │               ├── Realm.kt
│       │   │               └── SimpleAGPVersion.kt
│       │   ├── resources/
│       │   │   └── META-INF/
│       │   │       └── gradle-plugins/
│       │   │           └── realm-android.properties
│       │   └── templates/
│       │       └── Version.kt
│       └── test/
│           └── groovy/
│               └── io/
│                   └── realm/
│                       └── gradle/
│                           └── PluginTest.groovy
├── gradle.properties
├── gradlew
├── gradlew.bat
├── latest
├── library-benchmarks/
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle
│   └── src/
│       ├── androidTest/
│       │   ├── AndroidManifest.xml
│       │   └── java/
│       │       └── io/
│       │           └── realm/
│       │               └── benchmarks/
│       │                   ├── CopyToRealmBenchmarks.kt
│       │                   ├── CopyToRealmOrUpdateBenchmarks.kt
│       │                   ├── FrozenObjectsBenchmarks.kt
│       │                   ├── RealmAllocBenchmarks.kt
│       │                   ├── RealmBenchmarks.kt
│       │                   ├── RealmInsertBenchmark.kt
│       │                   ├── RealmObjectReadBenchmarks.kt
│       │                   ├── RealmObjectWriteBenchmarks.kt
│       │                   ├── RealmQueryBenchmarks.kt
│       │                   ├── RealmResultsBenchmarks.kt
│       │                   └── entities/
│       │                       ├── AllTypes.java
│       │                       └── AllTypesPrimaryKey.java
│       └── main/
│           └── AndroidManifest.xml
├── library-build-transformer/
│   ├── .gitignore
│   ├── README.md
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── io/
│       │           └── realm/
│       │               └── buildtransformer/
│       │                   ├── RealmBuildTransformer.kt
│       │                   ├── asm/
│       │                   │   ├── ClassPoolTransformer.kt
│       │                   │   └── visitors/
│       │                   │       ├── AnnotatedCodeStripVisitor.kt
│       │                   │       └── AnnotationVisitor.kt
│       │                   ├── ext/
│       │                   │   └── FileExt.kt
│       │                   └── util/
│       │                       └── Stopwatch.kt
│       └── test/
│           ├── java/
│           │   └── io/
│           │       └── realm/
│           │           ├── buildtransformer/
│           │           │   └── testclasses/
│           │           │       ├── NestedTestClass.java
│           │           │       ├── SimpleTestClass.java
│           │           │       ├── SimpleTestFields.java
│           │           │       ├── SimpleTestMethods.java
│           │           │       ├── SubClass.java
│           │           │       └── SuperClass.java
│           │           └── internal/
│           │               └── annotations/
│           │                   ├── CustomAnnotation.java
│           │                   └── ObjectServer.java
│           └── kotlin/
│               └── io/
│                   └── realm/
│                       └── buildtransformer/
│                           ├── DynamicClassLoader.kt
│                           └── VisitorTests.kt
├── mavencentral-properties.gradle
├── mavencentral-publications.gradle
├── mavencentral-publish.gradle
├── realm/
│   ├── build.gradle
│   ├── config/
│   │   ├── checkstyle/
│   │   │   ├── checkstyle-suppressions.xml
│   │   │   └── checkstyle.xml
│   │   ├── findbugs/
│   │   │   └── findbugs-filter.xml
│   │   ├── pmd/
│   │   │   └── ruleset.xml
│   │   └── studio/
│   │       ├── Realm-style.xml
│   │       └── Realm_lint.xml
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── kotlin-extensions/
│   │   ├── .gitignore
│   │   ├── build.gradle
│   │   ├── lib/
│   │   │   └── package-list.txt
│   │   ├── proguard-rules.pro
│   │   └── src/
│   │       ├── androidTest/
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── CoroutinesTests.kt
│   │       │               ├── KotlinRealmModelTests.kt
│   │       │               ├── KotlinRealmQueryTests.kt
│   │       │               ├── KotlinRealmTests.kt
│   │       │               └── entities/
│   │       │                   ├── AllPropTypesClass.kt
│   │       │                   ├── PrimaryKeyClass.kt
│   │       │                   └── SimpleClass.kt
│   │       ├── androidTestObjectServer/
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               └── kotlin/
│   │       │                   └── KotlinSyncedRealmTests.kt
│   │       ├── main/
│   │       │   ├── AndroidManifest.xml
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               └── kotlin/
│   │       │                   ├── DynamicRealmExtensions.kt
│   │       │                   ├── RealmExtensions.kt
│   │       │                   ├── RealmListExtensions.kt
│   │       │                   ├── RealmModelExtensions.kt
│   │       │                   ├── RealmObjectExtensions.kt
│   │       │                   ├── RealmQueryExtensions.kt
│   │       │                   └── RealmResultsExtensions.kt
│   │       └── objectServer/
│   │           └── kotlin/
│   │               └── io/
│   │                   └── realm/
│   │                       └── kotlin/
│   │                           └── SyncedRealmExtensions.kt
│   ├── realm-annotations-processor/
│   │   ├── build.gradle
│   │   └── src/
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── io/
│   │       │   │       └── realm/
│   │       │   │           └── processor/
│   │       │   │               ├── Backlink.kt
│   │       │   │               ├── ClassCollection.kt
│   │       │   │               ├── ClassMetaData.kt
│   │       │   │               ├── Constants.kt
│   │       │   │               ├── DefaultModuleGenerator.kt
│   │       │   │               ├── ModuleMetaData.kt
│   │       │   │               ├── OsObjectBuilderTypeHelper.kt
│   │       │   │               ├── RealmFieldElement.kt
│   │       │   │               ├── RealmJsonTypeHelper.kt
│   │       │   │               ├── RealmProcessor.kt
│   │       │   │               ├── RealmProxyClassGenerator.kt
│   │       │   │               ├── RealmProxyInterfaceGenerator.kt
│   │       │   │               ├── RealmProxyMediatorGenerator.kt
│   │       │   │               ├── RealmVersionChecker.kt
│   │       │   │               ├── TypeMirrors.kt
│   │       │   │               ├── Utils.kt
│   │       │   │               ├── ext/
│   │       │   │               │   └── JavaWriterExt.kt
│   │       │   │               └── nameconverter/
│   │       │   │                   ├── CamelCaseConverter.kt
│   │       │   │                   ├── IdentityConverter.kt
│   │       │   │                   ├── LowerCaseWithSeparatorConverter.kt
│   │       │   │                   ├── NameConverter.kt
│   │       │   │                   ├── PascalCaseConverter.kt
│   │       │   │                   └── WordTokenizer.kt
│   │       │   ├── resources/
│   │       │   │   └── META-INF/
│   │       │   │       ├── gradle/
│   │       │   │       │   └── incremental.annotation.processors
│   │       │   │       └── services/
│   │       │   │           └── javax.annotation.processing.Processor
│   │       │   └── templates/
│   │       │       └── Version.java
│   │       └── test/
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── processor/
│   │           │               ├── NameConverterTests.java
│   │           │               ├── RealmBacklinkProcessorTest.java
│   │           │               ├── RealmCounterProcessorTest.java
│   │           │               ├── RealmEmbeddedObjectsTest.java
│   │           │               ├── RealmNameTest.java
│   │           │               ├── RealmProcessorTest.java
│   │           │               ├── RealmSyntheticTestClass.java
│   │           │               └── ValueListProcessorTest.java
│   │           └── resources/
│   │               ├── io/
│   │               │   └── realm/
│   │               │       ├── DefaultRealmModule.java
│   │               │       ├── DefaultRealmModuleMediator.java
│   │               │       ├── some_test_AllTypesRealmProxy-pre-dictionary.java
│   │               │       ├── some_test_AllTypesRealmProxy.java
│   │               │       ├── some_test_BooleansRealmProxy.java
│   │               │       ├── some_test_EmbeddedClassRealmProxy.java
│   │               │       ├── some_test_EmbeddedClassSimpleParentRealmProxy.java
│   │               │       ├── some_test_NamePolicyMixedClassSettingsRealmProxy.java
│   │               │       ├── some_test_NamePolicyModuleDefaultsRealmProxy.java
│   │               │       ├── some_test_NullTypesRealmProxy.java
│   │               │       └── some_test_SimpleRealmProxy.java
│   │               └── some/
│   │                   └── test/
│   │                       ├── AllTypes.java
│   │                       ├── AppModuleAllClasses.java
│   │                       ├── AppModuleCustomClasses.java
│   │                       ├── BacklinkSelfReference.java
│   │                       ├── BacklinkSource.java
│   │                       ├── BacklinkTarget.java
│   │                       ├── Booleans.java
│   │                       ├── ConflictingFieldName.java
│   │                       ├── CustomAccessor.java
│   │                       ├── CustomInterface.java
│   │                       ├── EmbeddedClass.java
│   │                       ├── EmbeddedClassMissingFieldDescription.java
│   │                       ├── EmbeddedClassMissingFinalOnLinkingObjects.java
│   │                       ├── EmbeddedClassMultipleRequiredParents.java
│   │                       ├── EmbeddedClassOptionalParents.java
│   │                       ├── EmbeddedClassParent.java
│   │                       ├── EmbeddedClassPrimaryKey.java
│   │                       ├── EmbeddedClassRequiredParent.java
│   │                       ├── EmbeddedClassSimpleParent.java
│   │                       ├── EmbeddedObject.java
│   │                       ├── Empty.java
│   │                       ├── ExtendRealmList.java
│   │                       ├── FieldNames.java
│   │                       ├── FieldRealmResults.java
│   │                       ├── Final.java
│   │                       ├── InterfaceList.java
│   │                       ├── InterfaceObjectReference.java
│   │                       ├── InvalidAllTypesModuleMixedParameters.java
│   │                       ├── InvalidAllTypesModuleWrongType.java
│   │                       ├── InvalidLibraryModuleMixedParameters.java
│   │                       ├── InvalidLibraryModuleWrongType.java
│   │                       ├── InvalidListElementType.java
│   │                       ├── InvalidModelRealmModel_1.java
│   │                       ├── InvalidModelRealmModel_2.java
│   │                       ├── InvalidModelRealmModel_3.java
│   │                       ├── InvalidResultsElementType.java
│   │                       ├── LibraryModuleAllClasses.java
│   │                       ├── LibraryModuleCustomClasses.java
│   │                       ├── MissingGenericType.java
│   │                       ├── NamePolicyClassOnly.java
│   │                       ├── NamePolicyConflictingModuleDefinitionsForAllClasses.java
│   │                       ├── NamePolicyConflictingModuleDefinitionsForMixedDefinitions.java
│   │                       ├── NamePolicyConflictingModuleDefinitionsForNamedClasses.java
│   │                       ├── NamePolicyFieldNameOnly.java
│   │                       ├── NamePolicyMixedClassSettings.java
│   │                       ├── NamePolicyModule.java
│   │                       ├── NamePolicyModuleDefaults.java
│   │                       ├── NoAccessors.java
│   │                       ├── NullTypes.java
│   │                       ├── RealmDictionaryMissingGenerics.java
│   │                       ├── RealmDictionaryModel.java
│   │                       ├── RealmDictionaryModelRealmAnyRequired.java
│   │                       ├── RealmDictionaryModelRealmModelRequired.java
│   │                       ├── RealmDictionaryModelWrongType.java
│   │                       ├── RealmMapModel.java
│   │                       ├── RealmSetMissingGenerics.java
│   │                       ├── RealmSetModel.java
│   │                       ├── RealmSetModelWrongType.java
│   │                       ├── Simple.java
│   │                       ├── SimpleRealmModel.java
│   │                       ├── Transient.java
│   │                       ├── UseExtendRealmList.java
│   │                       ├── ValidModelRealmModel_ExtendingRealmObject.java
│   │                       ├── ValueList.java
│   │                       ├── Volatile.java
│   │                       ├── conflict/
│   │                       │   └── BacklinkSelfReference.java
│   │                       └── ÁrvíztűrőTükörfúrógép.java
│   ├── realm-library/
│   │   ├── build.gradle
│   │   ├── gradle.properties
│   │   ├── proguard-rules-build-common.pro
│   │   ├── proguard-rules-build-objectServer.pro
│   │   ├── proguard-rules-consumer-base.pro
│   │   ├── proguard-rules-consumer-common.pro
│   │   ├── proguard-rules-consumer-objectServer.pro
│   │   └── src/
│   │       ├── androidTest/
│   │       │   ├── AndroidManifest.xml
│   │       │   ├── assets/
│   │       │   │   ├── 080_annotationtypes.realm
│   │       │   │   ├── 0841_annotationtypes.realm
│   │       │   │   ├── 0841_pk_migration.realm
│   │       │   │   ├── all_simple_types.json
│   │       │   │   ├── all_types_invalid.json
│   │       │   │   ├── all_types_null.json
│   │       │   │   ├── all_types_primary_key_field_only.json
│   │       │   │   ├── all_types_primary_key_null.json
│   │       │   │   ├── array.json
│   │       │   │   ├── asset_file.realm
│   │       │   │   ├── backlinks-fieldInUse.realm
│   │       │   │   ├── core6_string_pk_indexed.realm
│   │       │   │   ├── date_as_iso8601_string.json
│   │       │   │   ├── date_as_long.json
│   │       │   │   ├── date_as_string.json
│   │       │   │   ├── decimal128_as_double.json
│   │       │   │   ├── decimal128_as_int.json
│   │       │   │   ├── decimal128_as_long.json
│   │       │   │   ├── decimal128_as_string.json
│   │       │   │   ├── default-notnullable-primarykey.realm
│   │       │   │   ├── default-nullable-primarykey.realm
│   │       │   │   ├── default0.realm
│   │       │   │   ├── empty.json
│   │       │   │   ├── ios/
│   │       │   │   │   ├── 0.98.0-alltypes-mix.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes-default-encrypted.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes-default.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes-max.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes-min.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes-null-value.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes.realm
│   │       │   │   │   └── README.md
│   │       │   │   ├── list_alltypes_primarykey.json
│   │       │   │   ├── mutablerealminteger-int.json
│   │       │   │   ├── mutablerealminteger-long.json
│   │       │   │   ├── mutablerealminteger-null.json
│   │       │   │   ├── mutablerealminteger-required-null.json
│   │       │   │   ├── nulltypes.json
│   │       │   │   ├── nulltypes_invalid.json
│   │       │   │   ├── objectid_as_string.json
│   │       │   │   ├── other_json_object.json
│   │       │   │   ├── readonly.realm
│   │       │   │   ├── realmlist.json
│   │       │   │   ├── realmlist_empty.json
│   │       │   │   ├── rename-and-add-indexed.realm
│   │       │   │   ├── rename-and-add.realm
│   │       │   │   ├── single_child_object.json
│   │       │   │   ├── string-only-pre-null-0.82.2.realm
│   │       │   │   ├── string-only-required-pre-null-0.82.2.realm
│   │       │   │   ├── unicode_codepoints.csv
│   │       │   │   └── uuid_as_string.json
│   │       │   ├── java/
│   │       │   │   ├── ThreadStressTests.java
│   │       │   │   └── io/
│   │       │   │       └── realm/
│   │       │   │           ├── BulkInsertTests.java
│   │       │   │           ├── CollectionTests.java
│   │       │   │           ├── ColumnInfoTests.java
│   │       │   │           ├── CustomRealmNameTests.java
│   │       │   │           ├── DynamicRealmAsyncQueryTests.kt
│   │       │   │           ├── DynamicRealmObjectTests.java
│   │       │   │           ├── DynamicRealmTests.java
│   │       │   │           ├── FrozenObjectsTests.java
│   │       │   │           ├── GCTests.java
│   │       │   │           ├── IOSRealmTests.java
│   │       │   │           ├── LinkingObjectsDynamicTests.java
│   │       │   │           ├── LinkingObjectsManagedTests.java
│   │       │   │           ├── LinkingObjectsQueryTests.java
│   │       │   │           ├── LinkingObjectsUnmanagedTests.java
│   │       │   │           ├── ManagedOrderedRealmCollectionTests.java
│   │       │   │           ├── ManagedRealmCollectionTests.java
│   │       │   │           ├── ManagedRealmListForValueTests.java
│   │       │   │           ├── ManagedRealmListForValue_toArrayTests.java
│   │       │   │           ├── MediatorTest.java
│   │       │   │           ├── MutableRealmIntegerTests.java
│   │       │   │           ├── NotificationsTest.java
│   │       │   │           ├── ObjectChangeSetTests.java
│   │       │   │           ├── OrderedCollectionChangeSetTests.java
│   │       │   │           ├── OrderedRealmCollectionIteratorTests.java
│   │       │   │           ├── OrderedRealmCollectionSnapshotTests.java
│   │       │   │           ├── OrderedRealmCollectionTests.java
│   │       │   │           ├── QueryTests.java
│   │       │   │           ├── RealmAnnotationTests.java
│   │       │   │           ├── RealmAsyncQueryTests.java
│   │       │   │           ├── RealmCacheTests.java
│   │       │   │           ├── RealmChangeListenerTests.java
│   │       │   │           ├── RealmCollectionTests.java
│   │       │   │           ├── RealmConfigurationTests.java
│   │       │   │           ├── RealmInMemoryTest.java
│   │       │   │           ├── RealmInterprocessTest.java
│   │       │   │           ├── RealmJsonAbsentPrimaryKeyTests.java
│   │       │   │           ├── RealmJsonNullPrimaryKeyTests.java
│   │       │   │           ├── RealmJsonTests.java
│   │       │   │           ├── RealmLinkTests.java
│   │       │   │           ├── RealmListTests.java
│   │       │   │           ├── RealmMigrationTests.java
│   │       │   │           ├── RealmModelTests.java
│   │       │   │           ├── RealmNullPrimaryKeyTests.java
│   │       │   │           ├── RealmObjectSchemaTests.java
│   │       │   │           ├── RealmObjectTests.java
│   │       │   │           ├── RealmPrimaryKeyTests.java
│   │       │   │           ├── RealmProxyMediatorTests.java
│   │       │   │           ├── RealmQueryTests.java
│   │       │   │           ├── RealmResultsTests.java
│   │       │   │           ├── RealmSchemaTests.java
│   │       │   │           ├── RealmTests.java
│   │       │   │           ├── RunTestInLooperThreadLifeCycleTest.java
│   │       │   │           ├── RxJavaTests.java
│   │       │   │           ├── SortTest.java
│   │       │   │           ├── TypeBasedNotificationsTests.java
│   │       │   │           ├── UTFStringsTests.java
│   │       │   │           ├── UnManagedOrderedRealmCollectionTests.java
│   │       │   │           ├── UnManagedRealmCollectionTests.java
│   │       │   │           ├── entities/
│   │       │   │           │   ├── AllJavaTypes.java
│   │       │   │           │   ├── AllJavaTypesUnsupportedTypes.java
│   │       │   │           │   ├── AnimalModule.java
│   │       │   │           │   ├── AnnotationNameConventions.java
│   │       │   │           │   ├── AnnotationTypes.java
│   │       │   │           │   ├── AssetFileModule.java
│   │       │   │           │   ├── CatOwner.java
│   │       │   │           │   ├── ConflictingFieldName.java
│   │       │   │           │   ├── CustomMethods.java
│   │       │   │           │   ├── CyclicType.java
│   │       │   │           │   ├── CyclicTypePrimaryKey.java
│   │       │   │           │   ├── DefaultValueConstructor.java
│   │       │   │           │   ├── DefaultValueFromOtherConstructor.java
│   │       │   │           │   ├── DefaultValueOfField.java
│   │       │   │           │   ├── DefaultValueOverwriteNullLink.java
│   │       │   │           │   ├── DefaultValueSetter.java
│   │       │   │           │   ├── FieldOrder.java
│   │       │   │           │   ├── HumanModule.java
│   │       │   │           │   ├── IOSAllTypes.java
│   │       │   │           │   ├── IOSChild.java
│   │       │   │           │   ├── IndexedFields.java
│   │       │   │           │   ├── MappedAllJavaTypes.java
│   │       │   │           │   ├── MutableRealmIntegerTypes.java
│   │       │   │           │   ├── NoPrimaryKeyNullTypes.java
│   │       │   │           │   ├── NoPrimaryKeyWithPrimaryKeyObjectRelation.java
│   │       │   │           │   ├── NonLatinFieldNames.java
│   │       │   │           │   ├── NullablePrimitiveFields.java
│   │       │   │           │   ├── Object4957.java
│   │       │   │           │   ├── ObjectIdPrimaryKey.java
│   │       │   │           │   ├── OwnerPrimaryKey.java
│   │       │   │           │   ├── PrimaryKeyAsObjectId.java
│   │       │   │           │   ├── PrimaryKeyMix.java
│   │       │   │           │   ├── PrimaryKeyRequiredAsString.java
│   │       │   │           │   ├── PrimaryKeyWithNoPrimaryKeyObjectRelation.java
│   │       │   │           │   ├── PrimitiveListTypes.java
│   │       │   │           │   ├── RandomPrimaryKey.java
│   │       │   │           │   ├── StringAndInt.java
│   │       │   │           │   ├── StringOnly.java
│   │       │   │           │   ├── StringOnlyModule.java
│   │       │   │           │   ├── StringOnlyReadOnly.java
│   │       │   │           │   ├── StringOnlyRequired.java
│   │       │   │           │   ├── Thread.java
│   │       │   │           │   ├── conflict/
│   │       │   │           │   │   ├── AllJavaTypes.java
│   │       │   │           │   │   ├── List.java
│   │       │   │           │   │   ├── Map.java
│   │       │   │           │   │   ├── String.java
│   │       │   │           │   │   └── package-info.java
│   │       │   │           │   ├── migration/
│   │       │   │           │   │   ├── HandleBackLinksChild1.java
│   │       │   │           │   │   ├── HandleBackLinksChild2.java
│   │       │   │           │   │   ├── HandleBackLinksParent1.java
│   │       │   │           │   │   ├── HandleBackLinksParent2.java
│   │       │   │           │   │   ├── MigrationClassRenamed.java
│   │       │   │           │   │   ├── MigrationCore6PKStringIndexedByDefault.java
│   │       │   │           │   │   ├── MigrationFieldRenameAndAdd.java
│   │       │   │           │   │   ├── MigrationFieldRenamed.java
│   │       │   │           │   │   ├── MigrationFieldTypeToInt.java
│   │       │   │           │   │   ├── MigrationFieldTypeToInteger.java
│   │       │   │           │   │   ├── MigrationIndexedFieldRenamed.java
│   │       │   │           │   │   ├── MigrationPosteriorIndexOnly.java
│   │       │   │           │   │   └── MigrationPriorIndexOnly.java
│   │       │   │           │   ├── pojo/
│   │       │   │           │   │   ├── AllTypesRealmModel.java
│   │       │   │           │   │   ├── InvalidRealmModel.java
│   │       │   │           │   │   ├── PojoWithRealmListOfRealmObject.java
│   │       │   │           │   │   ├── RealmModelWithRealmListOfRealmModel.java
│   │       │   │           │   │   ├── RealmModelWithRealmModelField.java
│   │       │   │           │   │   ├── RealmObjectWithRealmListOfRealmModel.java
│   │       │   │           │   │   └── RealmObjectWithRealmModelField.java
│   │       │   │           │   └── realmname/
│   │       │   │           │       ├── ClassNameOverrideModulePolicy.java
│   │       │   │           │       ├── ClassWithPolicy.java
│   │       │   │           │       ├── ClassWithValueDefinedNames.java
│   │       │   │           │       ├── CustomRealmNamesModule.java
│   │       │   │           │       ├── DefaultPolicyFromModule.java
│   │       │   │           │       └── FieldNameOverrideClassPolicy.java
│   │       │   │           ├── instrumentation/
│   │       │   │           │   ├── ActivityLifecycle.java
│   │       │   │           │   ├── Lifecycle.java
│   │       │   │           │   ├── LifecycleComponentFactory.java
│   │       │   │           │   └── package-info.java
│   │       │   │           ├── internal/
│   │       │   │           │   ├── AndroidCapabilitiesTest.java
│   │       │   │           │   ├── JNIColumnInfoTest.java
│   │       │   │           │   ├── JNINativeTest.java
│   │       │   │           │   ├── JNIQueryTest.java
│   │       │   │           │   ├── JNIRowTest.java
│   │       │   │           │   ├── JNITableInsertTest.java
│   │       │   │           │   ├── JNITableTest.java
│   │       │   │           │   ├── ObserverPairListTests.java
│   │       │   │           │   ├── OsListTests.java
│   │       │   │           │   ├── OsObjectStoreTests.java
│   │       │   │           │   ├── OsResultsTests.java
│   │       │   │           │   ├── OsSharedRealmTests.java
│   │       │   │           │   ├── PrimaryKeyTests.java
│   │       │   │           │   ├── RealmNotifierTests.java
│   │       │   │           │   ├── TableIndexAndDistinctTest.java
│   │       │   │           │   ├── android/
│   │       │   │           │   │   ├── ISO8601UtilsTest.java
│   │       │   │           │   │   └── JsonUtilsTest.java
│   │       │   │           │   └── test/
│   │       │   │           │       └── ExtraTests.java
│   │       │   │           ├── log/
│   │       │   │           │   └── RealmLogTests.java
│   │       │   │           ├── migration/
│   │       │   │           │   └── MigrationPrimaryKey.java
│   │       │   │           └── util/
│   │       │   │               ├── ExceptionHolder.java
│   │       │   │               ├── LooperSpy.java
│   │       │   │               ├── RealmBackgroundTask.java
│   │       │   │               └── RealmThread.java
│   │       │   ├── kotlin/
│   │       │   │   └── io/
│   │       │   │       └── realm/
│   │       │   │           ├── Decimal128Tests.kt
│   │       │   │           ├── DictionaryMiscTests.kt
│   │       │   │           ├── DictionaryTester.kt
│   │       │   │           ├── EmbeddedObjectsTest.kt
│   │       │   │           ├── GenericTester.kt
│   │       │   │           ├── KotlinSchemaTests.kt
│   │       │   │           ├── ManagedDictionaryTesters.kt
│   │       │   │           ├── ManagedSetTester.kt
│   │       │   │           ├── ModelDefaultValuesTests.kt
│   │       │   │           ├── NoPKRealmModelSetTester.kt
│   │       │   │           ├── NullMixedSetTester.kt
│   │       │   │           ├── ObjectIdTests.kt
│   │       │   │           ├── ParameterizedDictionaryTests.kt
│   │       │   │           ├── ParameterizedSetTests.kt
│   │       │   │           ├── RealmAnyCollectionTests.kt
│   │       │   │           ├── RealmModelManagedSetTester.kt
│   │       │   │           ├── SetMiscTests.kt
│   │       │   │           ├── UUIDTests.kt
│   │       │   │           ├── UnmanagedDictionaryTesters.kt
│   │       │   │           ├── UnmanagedSetTester.kt
│   │       │   │           ├── entities/
│   │       │   │           │   ├── DictionaryAllTypes.java
│   │       │   │           │   ├── DictionaryContainerClass.kt
│   │       │   │           │   ├── PopulatedDictionaryClass.kt
│   │       │   │           │   ├── RealmAnyDefaultNonPK.kt
│   │       │   │           │   ├── RealmAnyDefaultPK.kt
│   │       │   │           │   ├── RealmAnyIndexed.kt
│   │       │   │           │   ├── RealmAnyNotIndexed.kt
│   │       │   │           │   ├── RealmAnyNotIndexedWithPK.kt
│   │       │   │           │   ├── RealmAnyRealmListWithPK.kt
│   │       │   │           │   ├── SetAllTypes.java
│   │       │   │           │   ├── SetAllTypesPrimaryKey.java
│   │       │   │           │   ├── SetContainerClass.kt
│   │       │   │           │   └── embedded/
│   │       │   │           │       ├── EmbeddedSimpleChild.kt
│   │       │   │           │       ├── EmbeddedSimpleListParent.kt
│   │       │   │           │       ├── EmbeddedSimpleListParentWithoutPrimaryKey.kt
│   │       │   │           │       ├── EmbeddedSimpleParent.kt
│   │       │   │           │       ├── EmbeddedTreeLeaf.kt
│   │       │   │           │       ├── EmbeddedTreeNode.kt
│   │       │   │           │       ├── EmbeddedTreeParent.kt
│   │       │   │           │       ├── EmbeddedWithConstructorArgs.kt
│   │       │   │           │       └── SimpleEmbeddedObject.kt
│   │       │   │           └── realmany/
│   │       │   │               ├── DynamicRealmAnyTests.kt
│   │       │   │               ├── RealmAnyBulkInsertsTests.kt
│   │       │   │               ├── RealmAnyChangeListenerTests.kt
│   │       │   │               ├── RealmAnyHelper.kt
│   │       │   │               ├── RealmAnyParameterizedQueryTests.kt
│   │       │   │               ├── RealmAnyPrimitiveBulkInserts.kt
│   │       │   │               ├── RealmAnyQueryTests.kt
│   │       │   │               └── RealmAnyTests.kt
│   │       │   └── res/
│   │       │       └── xml/
│   │       │           └── network_security_config.xml
│   │       ├── androidTestObjectServer/
│   │       │   ├── assets/
│   │       │   │   ├── optionalsubscriptionfields.realm
│   │       │   │   ├── synced_realm_e873fb25-11ef-498f-9782-3c8e1cd2a12c_no_client_id.realm
│   │       │   │   └── versionTest.realm
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── ApiKeyAuthTests.kt
│   │       │               ├── AppConfigurationTests.kt
│   │       │               ├── AppTests.kt
│   │       │               ├── AppUserTests.java
│   │       │               ├── CredentialsTests.kt
│   │       │               ├── EmailPasswordAuthTests.kt
│   │       │               ├── FunctionsTests.kt
│   │       │               ├── ProgressListenerTests.kt
│   │       │               ├── SchemaTests.kt
│   │       │               ├── SyncedRealmMigrationTests.kt
│   │       │               ├── UserProfileInfoTests.kt
│   │       │               ├── admin/
│   │       │               │   └── ServerAdmin.kt
│   │       │               ├── entities/
│   │       │               │   ├── DefaultSyncSchema.kt
│   │       │               │   ├── DummySyncObject.kt
│   │       │               │   ├── FlexSyncColor.kt
│   │       │               │   ├── SyncAllTypes.kt
│   │       │               │   ├── SyncAllTypesSchema.kt
│   │       │               │   ├── SyncAllTypesWithFloat.kt
│   │       │               │   ├── SyncColor.kt
│   │       │               │   ├── SyncDog.kt
│   │       │               │   ├── SyncPerson.kt
│   │       │               │   ├── SyncSchemeMigration.kt
│   │       │               │   ├── SyncStringOnly.kt
│   │       │               │   └── SyncStringOnlyModule.kt
│   │       │               ├── internal/
│   │       │               │   ├── async/
│   │       │               │   │   ├── RealmResultTaskImplTest.kt
│   │       │               │   │   └── RealmStreamTaskImplTest.kt
│   │       │               │   └── network/
│   │       │               │       ├── LoggingInterceptorTest.kt
│   │       │               │       └── NetworkRequestTests.kt
│   │       │               ├── mongodb/
│   │       │               │   ├── AppExt.kt
│   │       │               │   ├── MongoClientTest.kt
│   │       │               │   ├── UserTests.kt
│   │       │               │   ├── push/
│   │       │               │   │   └── PushTest.kt
│   │       │               │   └── sync/
│   │       │               │       ├── FlexibleSyncConfigurationTests.kt
│   │       │               │       ├── FlexibleSyncIntegrationTests.kt
│   │       │               │       ├── MutableSubscriptionSetTests.kt
│   │       │               │       ├── ProgressTests.kt
│   │       │               │       ├── SSLConfigurationTests.kt
│   │       │               │       ├── SessionTests.kt
│   │       │               │       ├── SubscriptionSetTests.kt
│   │       │               │       ├── SubscriptionTests.kt
│   │       │               │       ├── SyncConfigurationTests.kt
│   │       │               │       ├── SyncExt.kt
│   │       │               │       ├── SyncSessionExt.kt
│   │       │               │       ├── SyncedRealmTests.kt
│   │       │               │       └── TrustManagerCertificateValidationTests.java
│   │       │               ├── transport/
│   │       │               │   ├── HttpNetworkTransportInterceptor.kt
│   │       │               │   ├── OkHttpNetworkTransportTests.kt
│   │       │               │   └── OsJavaNetworkTransportTests.kt
│   │       │               └── util/
│   │       │                   ├── KotlinTestUtils.kt
│   │       │                   ├── KotlinTestUtilsTests.kt
│   │       │                   └── mongodb/
│   │       │                       └── CustomType.java
│   │       ├── main/
│   │       │   ├── AndroidManifest.xml
│   │       │   ├── cpp/
│   │       │   │   ├── .clang-format
│   │       │   │   ├── CMakeLists.txt
│   │       │   │   ├── io_realm_RealmQuery.cpp
│   │       │   │   ├── io_realm_internal_CheckedRow.cpp
│   │       │   │   ├── io_realm_internal_NativeObjectReference.cpp
│   │       │   │   ├── io_realm_internal_OsCollectionChangeSet.cpp
│   │       │   │   ├── io_realm_internal_OsList.cpp
│   │       │   │   ├── io_realm_internal_OsMap.cpp
│   │       │   │   ├── io_realm_internal_OsMapChangeSet.cpp
│   │       │   │   ├── io_realm_internal_OsObject.cpp
│   │       │   │   ├── io_realm_internal_OsObjectSchemaInfo.cpp
│   │       │   │   ├── io_realm_internal_OsObjectStore.cpp
│   │       │   │   ├── io_realm_internal_OsRealmConfig.cpp
│   │       │   │   ├── io_realm_internal_OsResults.cpp
│   │       │   │   ├── io_realm_internal_OsSchemaInfo.cpp
│   │       │   │   ├── io_realm_internal_OsSet.cpp
│   │       │   │   ├── io_realm_internal_OsSharedRealm.cpp
│   │       │   │   ├── io_realm_internal_Property.cpp
│   │       │   │   ├── io_realm_internal_Table.cpp
│   │       │   │   ├── io_realm_internal_TableQuery.cpp
│   │       │   │   ├── io_realm_internal_TestUtil.cpp
│   │       │   │   ├── io_realm_internal_UncheckedRow.cpp
│   │       │   │   ├── io_realm_internal_Util.cpp
│   │       │   │   ├── io_realm_internal_core_NativeRealmAny.cpp
│   │       │   │   ├── io_realm_internal_core_NativeRealmAnyCollection.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsApp.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsAppCredentials.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsAsyncOpenTask.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsJavaNetworkTransport.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsKeyPathMapping.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsMongoClient.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsMongoCollection.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsMongoDatabase.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsMutableSubscriptionSet.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsObjectBuilder.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsPush.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsSubscription.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsSubscriptionSet.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsSyncUser.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsWatchStream.cpp
│   │       │   │   ├── io_realm_log_RealmLog.cpp
│   │       │   │   ├── io_realm_mongodb_ApiKeyAuthImpl.cpp
│   │       │   │   ├── io_realm_mongodb_EmailPasswordAuthImpl.cpp
│   │       │   │   ├── io_realm_mongodb_FunctionsImpl.cpp
│   │       │   │   ├── io_realm_mongodb_User.cpp
│   │       │   │   ├── io_realm_mongodb_mongo_iterable_AggregateIterable.cpp
│   │       │   │   ├── io_realm_mongodb_mongo_iterable_FindIterable.cpp
│   │       │   │   ├── io_realm_mongodb_sync_ClientResetRequiredError.cpp
│   │       │   │   ├── io_realm_mongodb_sync_Sync.cpp
│   │       │   │   ├── io_realm_mongodb_sync_SyncSession.cpp
│   │       │   │   ├── java_accessor.hpp
│   │       │   │   ├── java_binding_context.cpp
│   │       │   │   ├── java_binding_context.hpp
│   │       │   │   ├── java_class_global_def.cpp
│   │       │   │   ├── java_class_global_def.hpp
│   │       │   │   ├── java_exception_def.cpp
│   │       │   │   ├── java_exception_def.hpp
│   │       │   │   ├── java_network_transport.hpp
│   │       │   │   ├── java_object_accessor.hpp
│   │       │   │   ├── java_query_descriptor.cpp
│   │       │   │   ├── java_query_descriptor.hpp
│   │       │   │   ├── jni_impl/
│   │       │   │   │   ├── android_logger.cpp
│   │       │   │   │   └── android_logger.hpp
│   │       │   │   ├── jni_util/
│   │       │   │   │   ├── bson_util.cpp
│   │       │   │   │   ├── bson_util.hpp
│   │       │   │   │   ├── hack.cpp
│   │       │   │   │   ├── hack.hpp
│   │       │   │   │   ├── java_class.cpp
│   │       │   │   │   ├── java_class.hpp
│   │       │   │   │   ├── java_exception_thrower.cpp
│   │       │   │   │   ├── java_exception_thrower.hpp
│   │       │   │   │   ├── java_global_ref_by_copy.cpp
│   │       │   │   │   ├── java_global_ref_by_copy.hpp
│   │       │   │   │   ├── java_global_ref_by_move.cpp
│   │       │   │   │   ├── java_global_ref_by_move.hpp
│   │       │   │   │   ├── java_global_weak_ref.cpp
│   │       │   │   │   ├── java_global_weak_ref.hpp
│   │       │   │   │   ├── java_local_ref.hpp
│   │       │   │   │   ├── java_method.cpp
│   │       │   │   │   ├── java_method.hpp
│   │       │   │   │   ├── jni_utils.cpp
│   │       │   │   │   ├── jni_utils.hpp
│   │       │   │   │   ├── log.cpp
│   │       │   │   │   └── log.hpp
│   │       │   │   ├── observable_collection_wrapper.hpp
│   │       │   │   ├── observable_dictionary_wrapper.hpp
│   │       │   │   ├── subscription_wrapper.hpp
│   │       │   │   ├── utf8.hpp
│   │       │   │   ├── util.cpp
│   │       │   │   └── util.hpp
│   │       │   └── java/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── BaseRealm.java
│   │       │               ├── Case.java
│   │       │               ├── CollectionUtils.java
│   │       │               ├── CompactOnLaunchCallback.java
│   │       │               ├── DefaultCompactOnLaunchCallback.java
│   │       │               ├── DynamicRealm.java
│   │       │               ├── DynamicRealmObject.java
│   │       │               ├── FieldAttribute.java
│   │       │               ├── FrozenPendingRow.java
│   │       │               ├── ImmutableRealmObjectSchema.java
│   │       │               ├── ImmutableRealmSchema.java
│   │       │               ├── ImportFlag.java
│   │       │               ├── ManagedListOperator.java
│   │       │               ├── ManagedMapManager.java
│   │       │               ├── MapChangeListener.java
│   │       │               ├── MapChangeSet.java
│   │       │               ├── MutableRealmInteger.java
│   │       │               ├── MutableRealmObjectSchema.java
│   │       │               ├── MutableRealmSchema.java
│   │       │               ├── ObjectChangeSet.java
│   │       │               ├── OrderedCollectionChangeSet.java
│   │       │               ├── OrderedRealmCollection.java
│   │       │               ├── OrderedRealmCollectionChangeListener.java
│   │       │               ├── OrderedRealmCollectionImpl.java
│   │       │               ├── OrderedRealmCollectionSnapshot.java
│   │       │               ├── ProxyState.java
│   │       │               ├── ProxyUtils.java
│   │       │               ├── Realm.java
│   │       │               ├── RealmAny.java
│   │       │               ├── RealmAnyNativeFunctionsImpl.java
│   │       │               ├── RealmAnyOperator.java
│   │       │               ├── RealmAsyncTask.java
│   │       │               ├── RealmCache.java
│   │       │               ├── RealmChangeListener.java
│   │       │               ├── RealmCollection.java
│   │       │               ├── RealmConfiguration.java
│   │       │               ├── RealmDictionary.java
│   │       │               ├── RealmFieldType.java
│   │       │               ├── RealmList.java
│   │       │               ├── RealmMap.java
│   │       │               ├── RealmMapEntrySet.java
│   │       │               ├── RealmMigration.java
│   │       │               ├── RealmModel.java
│   │       │               ├── RealmObject.java
│   │       │               ├── RealmObjectChangeListener.java
│   │       │               ├── RealmObjectSchema.java
│   │       │               ├── RealmQuery.java
│   │       │               ├── RealmResults.java
│   │       │               ├── RealmSchema.java
│   │       │               ├── RealmSet.java
│   │       │               ├── SetChangeListener.java
│   │       │               ├── SetChangeSet.java
│   │       │               ├── SetValueOperator.java
│   │       │               ├── Sort.java
│   │       │               ├── TypeSelectorForMap.java
│   │       │               ├── coroutines/
│   │       │               │   ├── FlowFactory.java
│   │       │               │   └── RealmFlowFactory.java
│   │       │               ├── exceptions/
│   │       │               │   ├── RealmError.java
│   │       │               │   ├── RealmException.java
│   │       │               │   ├── RealmFileException.java
│   │       │               │   ├── RealmMigrationNeededException.java
│   │       │               │   ├── RealmPrimaryKeyConstraintException.java
│   │       │               │   └── package-info.java
│   │       │               ├── internal/
│   │       │               │   ├── Capabilities.java
│   │       │               │   ├── CheckedRow.java
│   │       │               │   ├── ColumnIndices.java
│   │       │               │   ├── ColumnInfo.java
│   │       │               │   ├── EmptyLoadChangeSet.java
│   │       │               │   ├── FinalizerRunnable.java
│   │       │               │   ├── Freezable.java
│   │       │               │   ├── IOException.java
│   │       │               │   ├── IdentitySet.java
│   │       │               │   ├── InvalidRow.java
│   │       │               │   ├── Keep.java
│   │       │               │   ├── KeepMember.java
│   │       │               │   ├── ManageableObject.java
│   │       │               │   ├── NativeContext.java
│   │       │               │   ├── NativeObject.java
│   │       │               │   ├── NativeObjectReference.java
│   │       │               │   ├── ObjectServerFacade.java
│   │       │               │   ├── ObservableCollection.java
│   │       │               │   ├── ObservableMap.java
│   │       │               │   ├── ObservableSet.java
│   │       │               │   ├── ObserverPairList.java
│   │       │               │   ├── OsCollection.java
│   │       │               │   ├── OsCollectionChangeSet.java
│   │       │               │   ├── OsList.java
│   │       │               │   ├── OsMap.java
│   │       │               │   ├── OsMapChangeSet.java
│   │       │               │   ├── OsObject.java
│   │       │               │   ├── OsObjectSchemaInfo.java
│   │       │               │   ├── OsObjectStore.java
│   │       │               │   ├── OsRealmConfig.java
│   │       │               │   ├── OsResults.java
│   │       │               │   ├── OsSchemaInfo.java
│   │       │               │   ├── OsSet.java
│   │       │               │   ├── OsSharedRealm.java
│   │       │               │   ├── PendingRow.java
│   │       │               │   ├── Property.java
│   │       │               │   ├── RealmAnyNativeFunctions.java
│   │       │               │   ├── RealmCore.java
│   │       │               │   ├── RealmNotifier.java
│   │       │               │   ├── RealmObjectProxy.java
│   │       │               │   ├── RealmProxyMediator.java
│   │       │               │   ├── Row.java
│   │       │               │   ├── StatefulCollectionChangeSet.java
│   │       │               │   ├── Table.java
│   │       │               │   ├── TableQuery.java
│   │       │               │   ├── TestUtil.java
│   │       │               │   ├── UncheckedRow.java
│   │       │               │   ├── UnmanagedSubscription.java
│   │       │               │   ├── Util.java
│   │       │               │   ├── android/
│   │       │               │   │   ├── AndroidCapabilities.java
│   │       │               │   │   ├── AndroidRealmNotifier.java
│   │       │               │   │   ├── ISO8601Utils.java
│   │       │               │   │   ├── JsonUtils.java
│   │       │               │   │   ├── TypeUtils.java
│   │       │               │   │   └── package-info.java
│   │       │               │   ├── annotations/
│   │       │               │   │   └── ObjectServer.java
│   │       │               │   ├── async/
│   │       │               │   │   ├── BadVersionException.java
│   │       │               │   │   ├── BgPriorityCallable.java
│   │       │               │   │   ├── BgPriorityRunnable.java
│   │       │               │   │   ├── RealmAsyncTaskImpl.java
│   │       │               │   │   └── RealmThreadPoolExecutor.java
│   │       │               │   ├── coroutines/
│   │       │               │   │   └── InternalFlowFactory.kt
│   │       │               │   ├── modules/
│   │       │               │   │   ├── CompositeMediator.java
│   │       │               │   │   ├── FilterableMediator.java
│   │       │               │   │   └── package-info.java
│   │       │               │   ├── objectstore/
│   │       │               │   │   ├── OsKeyPathMapping.java
│   │       │               │   │   ├── OsMutableSubscriptionSet.java
│   │       │               │   │   ├── OsObjectBuilder.java
│   │       │               │   │   ├── OsSubscription.java
│   │       │               │   │   └── OsSubscriptionSet.java
│   │       │               │   ├── package-info.java
│   │       │               │   └── util/
│   │       │               │       └── Pair.java
│   │       │               ├── log/
│   │       │               │   ├── LogLevel.java
│   │       │               │   ├── RealmLog.java
│   │       │               │   ├── RealmLogger.java
│   │       │               │   └── package-info.java
│   │       │               ├── mongodb/
│   │       │               │   └── sync/
│   │       │               │       ├── MutableSubscriptionSet.java
│   │       │               │       ├── Subscription.java
│   │       │               │       └── SubscriptionSet.java
│   │       │               ├── package-info.java
│   │       │               └── rx/
│   │       │                   ├── CollectionChange.java
│   │       │                   ├── ObjectChange.java
│   │       │                   ├── RealmObservableFactory.java
│   │       │                   ├── RxObservableFactory.java
│   │       │                   └── package-info.java
│   │       ├── objectServer/
│   │       │   ├── AndroidManifest.xml
│   │       │   └── java/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── exceptions/
│   │       │               │   └── DownloadingRealmInterruptedException.java
│   │       │               ├── internal/
│   │       │               │   ├── ErrorCategory.java
│   │       │               │   ├── SyncObjectServerFacade.java
│   │       │               │   ├── async/
│   │       │               │   │   ├── RealmEventStreamAsyncTaskImpl.java
│   │       │               │   │   ├── RealmEventStreamTaskImpl.java
│   │       │               │   │   ├── RealmResultTaskImpl.java
│   │       │               │   │   └── package-info.java
│   │       │               │   ├── events/
│   │       │               │   │   ├── ChangeEvent.java
│   │       │               │   │   ├── NetworkEventStream.java
│   │       │               │   │   └── package-info.java
│   │       │               │   ├── jni/
│   │       │               │   │   └── JniBsonProtocol.java
│   │       │               │   ├── log/
│   │       │               │   │   └── obfuscator/
│   │       │               │   │       ├── ApiKeyObfuscator.java
│   │       │               │   │       ├── CustomFunctionObfuscator.java
│   │       │               │   │       ├── EmailPasswordObfuscator.java
│   │       │               │   │       ├── RegexPatternObfuscator.java
│   │       │               │   │       └── TokenObfuscator.java
│   │       │               │   ├── mongodb/
│   │       │               │   │   └── Request.java
│   │       │               │   ├── network/
│   │       │               │   │   ├── LoggingInterceptor.java
│   │       │               │   │   ├── MockableNetworkTransport.java
│   │       │               │   │   ├── NetworkRequest.java
│   │       │               │   │   ├── NetworkStateReceiver.java
│   │       │               │   │   ├── OkHttpNetworkTransport.java
│   │       │               │   │   ├── StreamNetworkTransport.java
│   │       │               │   │   └── VoidNetworkRequest.java
│   │       │               │   ├── objectserver/
│   │       │               │   │   ├── EventStream.java
│   │       │               │   │   ├── SyncWorker.java
│   │       │               │   │   └── Token.java
│   │       │               │   └── objectstore/
│   │       │               │       ├── OsApp.java
│   │       │               │       ├── OsAppCredentials.java
│   │       │               │       ├── OsAsyncOpenTask.java
│   │       │               │       ├── OsJavaNetworkTransport.java
│   │       │               │       ├── OsMongoClient.java
│   │       │               │       ├── OsMongoCollection.java
│   │       │               │       ├── OsMongoDatabase.java
│   │       │               │       ├── OsPush.java
│   │       │               │       ├── OsSyncUser.java
│   │       │               │       ├── OsWatchStream.java
│   │       │               │       └── package-info.java
│   │       │               └── mongodb/
│   │       │                   ├── ApiKeyAuthImpl.java
│   │       │                   ├── App.java
│   │       │                   ├── AppConfiguration.java
│   │       │                   ├── AppException.java
│   │       │                   ├── AuthenticationListener.java
│   │       │                   ├── Credentials.java
│   │       │                   ├── EmailPasswordAuthImpl.java
│   │       │                   ├── ErrorCode.java
│   │       │                   ├── FunctionsImpl.java
│   │       │                   ├── RealmEventStreamAsyncTask.java
│   │       │                   ├── RealmEventStreamTask.java
│   │       │                   ├── RealmResultTask.java
│   │       │                   ├── User.java
│   │       │                   ├── UserIdentity.java
│   │       │                   ├── UserProfile.java
│   │       │                   ├── auth/
│   │       │                   │   ├── ApiKey.java
│   │       │                   │   ├── ApiKeyAuth.java
│   │       │                   │   ├── EmailPasswordAuth.java
│   │       │                   │   └── GoogleAuthType.java
│   │       │                   ├── functions/
│   │       │                   │   └── Functions.java
│   │       │                   ├── log/
│   │       │                   │   └── obfuscator/
│   │       │                   │       └── HttpLogObfuscator.java
│   │       │                   ├── mongo/
│   │       │                   │   ├── MongoClient.java
│   │       │                   │   ├── MongoCollection.java
│   │       │                   │   ├── MongoDatabase.java
│   │       │                   │   ├── MongoNamespace.java
│   │       │                   │   ├── events/
│   │       │                   │   │   ├── BaseChangeEvent.java
│   │       │                   │   │   └── UpdateDescription.java
│   │       │                   │   ├── iterable/
│   │       │                   │   │   ├── AggregateIterable.java
│   │       │                   │   │   ├── FindIterable.java
│   │       │                   │   │   ├── MongoCursor.java
│   │       │                   │   │   └── MongoIterable.java
│   │       │                   │   ├── options/
│   │       │                   │   │   ├── CountOptions.java
│   │       │                   │   │   ├── FindOneAndModifyOptions.java
│   │       │                   │   │   ├── FindOptions.java
│   │       │                   │   │   ├── InsertManyResult.java
│   │       │                   │   │   └── UpdateOptions.java
│   │       │                   │   └── result/
│   │       │                   │       ├── DeleteResult.java
│   │       │                   │       ├── InsertOneResult.java
│   │       │                   │       └── UpdateResult.java
│   │       │                   ├── push/
│   │       │                   │   └── Push.java
│   │       │                   └── sync/
│   │       │                       ├── AutomaticClientResetStrategy.java
│   │       │                       ├── ClientResetRequiredError.java
│   │       │                       ├── ConnectionListener.java
│   │       │                       ├── ConnectionState.java
│   │       │                       ├── DiscardUnsyncedChangesStrategy.java
│   │       │                       ├── ManuallyRecoverUnsyncedChangesStrategy.java
│   │       │                       ├── Progress.java
│   │       │                       ├── ProgressListener.java
│   │       │                       ├── ProgressMode.java
│   │       │                       ├── RecoverOrDiscardUnsyncedChangesStrategy.java
│   │       │                       ├── RecoverUnsyncedChangesStrategy.java
│   │       │                       ├── Sync.java
│   │       │                       ├── SyncClientResetStrategy.java
│   │       │                       ├── SyncConfiguration.java
│   │       │                       ├── SyncSession.java
│   │       │                       └── package-info.java
│   │       ├── overview.html
│   │       ├── syncIntegrationTest/
│   │       │   ├── assets/
│   │       │   │   ├── trusted_ca.pem
│   │       │   │   └── untrusted_ca.pem
│   │       │   ├── java/
│   │       │   │   └── io/
│   │       │   │       └── realm/
│   │       │   │           ├── BaseIntegrationTest.java
│   │       │   │           ├── IsolatedIntegrationTests.java
│   │       │   │           ├── StandardIntegrationTest.java
│   │       │   │           └── objectserver/
│   │       │   │               ├── ProcessCommitTests.java
│   │       │   │               ├── model/
│   │       │   │               │   ├── PartialSyncModule.java
│   │       │   │               │   ├── PartialSyncObjectA.java
│   │       │   │               │   ├── PartialSyncObjectB.java
│   │       │   │               │   ├── ProcessInfo.java
│   │       │   │               │   └── TestObject.java
│   │       │   │               ├── package-info.java
│   │       │   │               └── utils/
│   │       │   │                   ├── HttpUtils.java
│   │       │   │                   └── RemoteIntegrationTestService.java
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── EncryptedSynchronizedRealmTests.kt
│   │       │               ├── SyncSessionTests.kt
│   │       │               └── SyncedRealmIntegrationTests.kt
│   │       ├── syncTestUtils/
│   │       │   ├── java/
│   │       │   │   └── io/
│   │       │   │       └── realm/
│   │       │   │           └── objectserver/
│   │       │   │               └── utils/
│   │       │   │                   ├── Constants.java
│   │       │   │                   ├── UserFactory.java
│   │       │   │                   └── UserFactoryStore.java
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── RealmExt.kt
│   │       │               ├── TestApp.kt
│   │       │               ├── TestSyncConfigurationFactory.kt
│   │       │               └── mongodb/
│   │       │                   ├── SyncTestUtils.kt
│   │       │                   └── sync/
│   │       │                       └── SyncConfigurationExt.kt
│   │       ├── testObjectServer/
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── ObfuscatorHelper.kt
│   │       │               ├── internal/
│   │       │               │   └── log/
│   │       │               │       └── obfuscator/
│   │       │               │           ├── ApiKeyObfuscatorTest.kt
│   │       │               │           ├── CustomFunctionObfuscatorTest.kt
│   │       │               │           ├── EmailPasswordObfuscatorTest.kt
│   │       │               │           └── TokenObfuscatorTest.kt
│   │       │               └── mongodb/
│   │       │                   └── log/
│   │       │                       └── obfuscator/
│   │       │                           └── HttpLogObfuscatorTest.kt
│   │       └── testUtils/
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           ├── TestHelper.java
│   │           │           ├── TestRealmConfigurationFactory.java
│   │           │           ├── entities/
│   │           │           │   ├── AllTypes.java
│   │           │           │   ├── AllTypesModelModule.java
│   │           │           │   ├── AllTypesPrimaryKey.java
│   │           │           │   ├── AnnotationIndexTypes.java
│   │           │           │   ├── BacklinkWithOverridenNames.java
│   │           │           │   ├── BacklinksSource.java
│   │           │           │   ├── BacklinksTarget.java
│   │           │           │   ├── Cat.java
│   │           │           │   ├── Dog.java
│   │           │           │   ├── DogPrimaryKey.java
│   │           │           │   ├── KeywordFieldNames.java
│   │           │           │   ├── NullTypes.java
│   │           │           │   ├── Owner.java
│   │           │           │   ├── PrimaryKeyAsBoxedByte.java
│   │           │           │   ├── PrimaryKeyAsBoxedInteger.java
│   │           │           │   ├── PrimaryKeyAsBoxedLong.java
│   │           │           │   ├── PrimaryKeyAsBoxedShort.java
│   │           │           │   ├── PrimaryKeyAsByte.java
│   │           │           │   ├── PrimaryKeyAsInteger.java
│   │           │           │   ├── PrimaryKeyAsLong.java
│   │           │           │   ├── PrimaryKeyAsShort.java
│   │           │           │   ├── PrimaryKeyAsString.java
│   │           │           │   ├── PrimaryKeyAsUUID.java
│   │           │           │   ├── PrimaryKeyRequiredAsBoxedByte.java
│   │           │           │   ├── PrimaryKeyRequiredAsBoxedInteger.java
│   │           │           │   ├── PrimaryKeyRequiredAsBoxedLong.java
│   │           │           │   ├── PrimaryKeyRequiredAsBoxedShort.java
│   │           │           │   └── SyncByteArray.java
│   │           │           ├── objectid/
│   │           │           │   └── NullPrimaryKey.java
│   │           │           ├── rule/
│   │           │           │   ├── RunInLooperThread.java
│   │           │           │   ├── RunTestInLooperThread.java
│   │           │           │   ├── RunTestWithRemoteService.java
│   │           │           │   └── RunWithRemoteService.java
│   │           │           └── services/
│   │           │               ├── RemoteProcessService.java
│   │           │               └── RemoteTestService.java
│   │           └── kotlin/
│   │               └── io/
│   │                   └── realm/
│   │                       ├── entities/
│   │                       │   └── AllKotlinTypes.kt
│   │                       └── rule/
│   │                           └── BlockingLooperThread.kt
│   ├── settings.gradle
│   ├── templates/
│   │   ├── README.md
│   │   └── redirect.html.template
│   └── tools/
│       ├── backlink-ut-source/
│       │   ├── missingField/
│       │   │   ├── source/
│       │   │   │   └── io/
│       │   │   │       └── realm/
│       │   │   │           └── entities/
│       │   │   │               ├── BacklinksMissingFieldSource.java
│       │   │   │               ├── BacklinksMissingFieldSourceModule.java
│       │   │   │               ├── BacklinksMissingFieldTarget.java
│       │   │   │               └── BacklinksMissingFieldTargetModule.java
│       │   │   └── target/
│       │   │       └── io/
│       │   │           └── realm/
│       │   │               └── entities/
│       │   │                   ├── BacklinksMissingFieldSource.java
│       │   │                   ├── BacklinksMissingFieldSourceModule.java
│       │   │                   ├── BacklinksMissingFieldTarget.java
│       │   │                   └── BacklinksMissingFieldTargetModule.java
│       │   └── wrongType/
│       │       ├── source/
│       │       │   └── io/
│       │       │       └── realm/
│       │       │           └── entities/
│       │       │               ├── BacklinksWrongTypeSource.java
│       │       │               ├── BacklinksWrongTypeSourceModule.java
│       │       │               ├── BacklinksWrongTypeTarget.java
│       │       │               └── BacklinksWrongTypeTargetModule.java
│       │       └── target/
│       │           └── io/
│       │               └── realm/
│       │                   └── entities/
│       │                       ├── BacklinksWrongTypeSource.java
│       │                       ├── BacklinksWrongTypeSourceModule.java
│       │                       ├── BacklinksWrongTypeTarget.java
│       │                       └── BacklinksWrongTypeTargetModule.java
│       └── bin/
│           └── cgen
├── realm-annotations/
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle
│   └── src/
│       └── main/
│           └── java/
│               └── io/
│                   └── realm/
│                       └── annotations/
│                           ├── Beta.java
│                           ├── Ignore.java
│                           ├── Index.java
│                           ├── LinkingObjects.java
│                           ├── PrimaryKey.java
│                           ├── RealmClass.java
│                           ├── RealmField.java
│                           ├── RealmModule.java
│                           ├── RealmNamingPolicy.java
│                           └── Required.java
├── realm-transformer/
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── io/
│       │   │       └── realm/
│       │   │           ├── gradle/
│       │   │           │   └── RealmPluginExtension.java
│       │   │           └── transformer/
│       │   │               └── Utils.java
│       │   ├── kotlin/
│       │   │   └── io/
│       │   │       └── realm/
│       │   │           ├── analytics/
│       │   │           │   ├── AnalyticsData.kt
│       │   │           │   ├── ComputerIdentifierGenerator.kt
│       │   │           │   ├── RealmAnalytics.kt
│       │   │           │   └── UrlEncodedAnalytics.kt
│       │   │           └── transformer/
│       │   │               ├── ByteCodeModifier.kt
│       │   │               ├── ManagedClassPool.kt
│       │   │               ├── RealmTransformer.kt
│       │   │               ├── Stopwatch.kt
│       │   │               ├── build/
│       │   │               │   ├── BuildTemplate.kt
│       │   │               │   ├── FullBuild.kt
│       │   │               │   └── IncrementalBuild.kt
│       │   │               └── ext/
│       │   │                   ├── CtClassExt.kt
│       │   │                   └── ProjectExt.kt
│       │   └── templates/
│       │       └── Version.java
│       └── test/
│           └── kotlin/
│               └── io/
│                   └── realm/
│                       └── transformer/
│                           └── ByteCodeModifierTest.kt
├── settings.gradle
├── tools/
│   ├── analyze_realm_metrics.sh
│   ├── build-id.py
│   ├── buildids.txt
│   ├── fix-h1s.sh
│   ├── publish_release.sh
│   ├── realm-cli.sh
│   ├── release.sh
│   ├── sync_test_server/
│   │   ├── Dockerfile
│   │   ├── app_config_generator.sh
│   │   ├── app_template/
│   │   │   ├── auth_providers/
│   │   │   │   ├── anon-user.json
│   │   │   │   ├── api-key.json
│   │   │   │   ├── custom-function.json
│   │   │   │   └── local-userpass.json
│   │   │   ├── config.json
│   │   │   ├── functions/
│   │   │   │   ├── authFunc/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── authorizedOnly/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── canReadPartition/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── canWritePartition/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── confirmFunc/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── error/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── firstArg/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── null/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── resetFunc/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── sum/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── testAuthFunc/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── triggerClientReset/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   └── void/
│   │   │   │       ├── config.json
│   │   │   │       └── source.js
│   │   │   ├── graphql/
│   │   │   │   └── config.json
│   │   │   ├── secrets.json
│   │   │   └── services/
│   │   │       ├── BackingDB/
│   │   │       │   ├── config.json
│   │   │       │   └── rules/
│   │   │       │       ├── test_data.EmbeddedSimpleParent.json
│   │   │       │       ├── test_data.FlexSyncColor.json
│   │   │       │       ├── test_data.SyncColor.json
│   │   │       │       ├── test_data.SyncDog.json
│   │   │       │       ├── test_data.SyncPerson.json
│   │   │       │       ├── test_data.custom_user_data.json
│   │   │       │       ├── test_data.mongo_data.json
│   │   │       │       └── test_data.mongo_data_alt.json
│   │   │       └── gcm/
│   │   │           └── config.json
│   │   ├── bind_android_ports.sh
│   │   ├── keys/
│   │   │   ├── HowToGenerateKey.txt
│   │   │   ├── android_test_certificate.crt
│   │   │   ├── private.pem
│   │   │   ├── public.pem
│   │   │   └── test_token.json
│   │   ├── mongodb-realm-command-server.js
│   │   ├── start_local_server.sh
│   │   ├── start_server.sh
│   │   ├── stop_local_server.sh
│   │   └── stop_server.sh
│   ├── unroll_stacktrace.sh
│   └── update_gradle_wrapper.sh
└── version.txt

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
  - name: General Questions and Inquiries
    url: https://www.mongodb.com/community/forums/tags/c/realm-sdks/58/java
    about: Please ask general design/architecture questions in the community forums.
  - name: MongoDB Atlas Device Sync Production Issues
    url: https://support.mongodb.com/
    about: Please report urgent production issues to the support portal directly.


================================================
FILE: .github/advanced-issue-labeler.yml
================================================
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

# syntax - https://github.com/redhat-plumbers-in-action/advanced-issue-labeler#policy
# Below keys map from the option used in issue form dropdowns to issue labels
# Limitation:
# Currently it's not possible to use strings containing ,␣ in the dropdown menus in the issue forms.

---

policy:
  - template: [bug.yml, feature.yml]
    section:
      - id: [frequency]
        label:
          - name: 'Frequency:Once'
            keys: ['Once']
          - name: 'Frequency:Sometimes'
            keys: ['Sometimes']
          - name: 'Frequency:Always'
            keys: ['Always']

      - id: [repro]
        label:
          - name: 'Repro:Always'
            keys: ['Always']
          - name: 'Repro:Sometimes'
            keys: ['Sometimes']
          - name: 'Repro:No'
            keys: ['No']

      - id: [sync, flavour, services]
        block-list: []
        label:
          - name: 'SDK-Use:Local'
            keys: ['Local Database only']
          - name: 'SDK-Use:Sync'
            keys: ['Atlas Device Sync']
          - name: 'SDK-Use:Services'
            keys: ['Atlas App Services: Function or GraphQL or DataAPI etc']
          - name: ['SDK-Use:All']
            keys: ['Both Atlas Device Sync and Atlas App Services']

      - id: [encryption]
        block-list: []
        label:
          - name: 'Encryption:On'
            keys: ['Yes']
          - name: 'Encryption:Off'
            keys: ['No']

      - id: [app-type]
        block-list: []
        label:
          - name: 'App-type:Unity'
            keys: ['Unity']
          - name: 'App-type:Xamarin'
            keys: ['Xamarin']
          - name: 'App-type:WPF'
            keys: ['WPF']
          - name: 'App-type:Console'
            keys: ['Console or Server']
          - name: 'App-type:Other'
            keys: ['Other']

      - id: [importance]
        block-list: []
        label:
          - name: 'Importance:Dealbraker'
            keys: ['Dealbreaker']
          - name: 'Importance:Major'
            keys: ['Would be a major improvement']
          - name: 'Importance:Workaround'
            keys: ['I would like to have it but have a workaround']
          - name: 'Importance:Nice'
            keys: ['Fairly niche but nice to have anyway']


================================================
FILE: .github/auto_assign.yml
================================================
addAssignees: author
addReviewers: false
runOnDraft: true


================================================
FILE: .github/no-response.yml
================================================
# Configuration for probot-no-response - https://github.com/probot/no-response

# Number of days of inactivity before an Issue is closed for lack of response
daysUntilClose: 14
# Label requiring a response
responseRequiredLabel: More-information-needed
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
closeComment: >
  This issue has been automatically closed because there has been no response
  to our request for more information from the original author. With only the
  information that is currently in the issue, we don't have enough information
  to take action. Please reach out if you have or find the answers we need so
  that we can investigate further.


================================================
FILE: .github/workflows/Issue-Needs-Attention.yml
================================================
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

name: Issue Needs Attention
# This workflow is triggered on issue comments.
on:
  issue_comment:
    types: created

jobs:
  applyNeedsAttentionLabel:
    uses: realm/ci-actions/.github/workflows/issue-needs-attention.yml@main


================================================
FILE: .github/workflows/auto-assign.yml
================================================
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

name: 'Auto Assign'
on:
  pull_request:
    types: [opened]

jobs:
  add-assignee:
    runs-on: ubuntu-latest
    steps:
      - uses: kentaro-m/auto-assign-action@248761c4feb3917c1b0444e33fad1a50093b9847


================================================
FILE: .github/workflows/check-changelog.yml
================================================
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

name: "Check Changelog"
on:
  pull_request:
    types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]

jobs:
  changelog:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@8230315d06ad95c617244d2f265d237a1682d445
        with:
          submodules: false
      - name: Enforce Changelog
        uses: dangoslen/changelog-enforcer@c0b9fd225180a405c5f21f7a74b99e2eccc3e951
        with:
          skipLabels: no-changelog
          missingUpdateErrorMessage: Please add an entry in CHANGELOG.md or apply the 'no-changelog' label to skip this check.


================================================
FILE: .github/workflows/check-pr-title.yml
================================================
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

name: "Check PR Title"
on:
  pull_request:
    types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled, converted_to_draft, edited]

jobs:
  check-pr-title:
    name: Check PR Title
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: false
      - name: Enforce PR title
        uses: realm/ci-actions/title-checker@main
        with:
          regex: R[A-Z]{2,6}-[0-9]{1,6}
          error-hint: Invalid PR title. Make sure it's prefixed with the JIRA ticket the PR addresses or add the no-jira-ticket label.
          ignore-labels: 'no-jira-ticket'

================================================
FILE: .github/workflows/gradle-wrapper-validation.yml
================================================
name: "Validate Gradle Wrapper"
on: [push, pull_request]

permissions:
  contents: read # to fetch code (actions/checkout)

jobs:
  validation:
    name: "Validation"
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: gradle/wrapper-validation-action@v1


================================================
FILE: .github/workflows/issue-labeler.yml
================================================
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

# See configuration in .github/advanced-issue-labeler.yml

name: Issue labeler (policy)
on:
  issues:
    types: [ opened ]

jobs:
  label-issues-policy:
    runs-on: ubuntu-latest
    permissions:
      issues: write

    strategy:
      matrix:
        template: [ bug.yml, feature.yml ]

    steps:
      - uses: actions/checkout@v4

      - name: Parse issue form
        uses: stefanbuck/github-issue-parser@c1a559d78bfb8dd05216dab9ffd2b91082ff5324  # v3.0.1
        id: issue-parser
        with:
          template-path: .github/ISSUE_TEMPLATE/${{ matrix.template }}

      - name: Set labels based on policy
        uses: redhat-plumbers-in-action/advanced-issue-labeler@6ee6fddfd744ee26b977e6a0436916f256896971  # v2.0.3
        with:
          issue-form: ${{ steps.issue-parser.outputs.jsonString }}
          template: ${{ matrix.template }}
          token: ${{ secrets.GITHUB_TOKEN }}


================================================
FILE: .github/workflows/lock-threads.yml
================================================
name: 'Lock Threads'

on:
  schedule:
    - cron: '0 * * * *'
  workflow_dispatch:

permissions:
  issues: write
  pull-requests: write
  discussions: write

concurrency:
  group: lock-threads

jobs:
  action:
    runs-on: ubuntu-latest
    steps:
      - uses: dessant/lock-threads@v5
        with:
          issue-inactive-days: 30
          pr-inactive-days: 30
          log-output: true


================================================
FILE: .github/workflows/no-response.yml
================================================
# NOTE: This is a common file that is overwritten by realm/ci-actions sync service
# and should only be modified in that repository.

name: No Response

# Both `issue_comment` and `scheduled` event types are required for this Action
# to work properly.
on:
  issue_comment:
    types: [created]
  schedule:
    # Schedule at 00:00 every day
    - cron: '0 0 * * *'

jobs:
  noResponse:
    runs-on: ubuntu-latest
    steps:
      - uses: lee-dohm/no-response@v0.5.0
        with:
          token: ${{ github.token }}
          responseRequiredLabel: More-information-needed


================================================
FILE: .gitignore
================================================
# Gradle build artifacts
build
realm/build
!realm-transformer/src/main/kotlin/io/realm/transformer/build

# Gradle cache
.gradle

# Gradle local properties
local.properties

# Core
core
core-*
realm-sync-android-*
!realm/realm-library/src/main/java/io/realm/internal/core/

# Android Studio
.idea
*.iml

# DS_Store
.DS_Store
*/.DS_Store

# JNI libs
realm_version_check.timestamp

# Build artifacts
*.so
*.d
*.o

# Backup files
*.bak
*~

# Navigation Editor
.navigation

# Distribution files
realm*.jar
realm*.aar
distribution/*/realm
distribution/javadoc
distribution/version.txt
distribution/RealmGridViewExample/app/src
distribution/RealmIntroExample/app/src
distribution/RealmMigrationExample/app/src

# Generated JNI headers
realm/realm-library/src/main/cpp/jni_include
# Downloaded core
realm/realm-library/distribution
# Cmake output
realm/realm-library/.externalNativeBuild
realm/realm-library/.cxx


================================================
FILE: .gitmodules
================================================
[submodule "realm/realm-library/src/main/cpp/realm-core"]
	path = realm/realm-library/src/main/cpp/realm-core
	url = https://github.com/realm/realm-core.git


================================================
FILE: CHANGELOG.md
================================================
## 11.0.0 (2024-09-DD)

### Breaking Changes
* None.

### Enhancements
* None.

### Fixed
* None.

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 13.0.0 or above is required to open Realms created by this version.
* Gradle 7.5 and above.
* Android Gradle Plugin 7.4.0 and above.

### Internal
* Updated links to new documentation URL.


## 10.19.0 (2024-09-13)

### Breaking Changes
* None.

### Enhancements
* None.

### Fixed
* Use 16 KB ELF packaging for native artifacts produced by `realm-library`, allowing them to be loaded on devices with 16 KB memory page sizes. (Issue [#7894](https://github.com/realm/realm-java/issues/7894))

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 13.0.0 or above is required to open Realms created by this version.
* Gradle 7.5 and above.
* Android Gradle Plugin 7.4.0 and above.

### Internal
* Updated links to new documentation URL.


## 10.18.0 (2024-02-06)

### Breaking Changes
* None.

### Enhancements
* None.

### Fixed
* None.

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 13.0.0 or above is required to open Realms created by this version.
* Gradle 7.5 and above.
* Android Gradle Plugin 7.4.0 and above.

### Internal
* Updated to Realm Core 13.26.0, commit 5533505d18fda93a7a971d58a191db5005583c92.
* Updated to CMake 3.27.7.


## 10.17.0 (2023-10-13)

This release upgrades the Sync metadata in a way that is not compatible with older versions. To downgrade a Sync app from this version, you'll need to manually delete the metadata folder located at $[SYNC-ROOT-DIRECTORY]/mongodb-realm/[APP-ID]/server-utility/metadata/. This will log out all users.

### Breaking Changes
* None.

### Enhancements
* [RealmApp] Simplified the number of error codes in `ErrorCode`. A number of enum entries have been deprecated. (Issue [#7837](https://github.com/realm/realm-java/pull/7837)).

### Fixed
* Rare corruption causing 'Invalid streaming format cookie'-exception. Typically following compact, convert or copying to a new file. (Issue [#7775](https://github.com/realm/realm-java/issues/7775), since v10.13.0 (Core v12.12.0))
* [RealmApp] Crash when opening a Realm with a proxy enabled. (Issue [#7828](https://github.com/realm/realm-java/issues/7828))

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 13.0.0 or above is required to open Realms created by this version.
* Gradle 7.5 and above.
* Android Gradle Plugin 7.4.0 and above.

### Internal
* Updated to Realm Core 13.23.0, commit 5abbf7f10fb3ef6bd622877cc840ada804bccb89.


## 10.16.2 (2023-10-12)

### Breaking Changes
* None.

### Enhancements
* None.

### Fixed
* Realm objects accessors behave as an unmanaged object after an incremental build. (Issue [#7844](https://github.com/realm/realm-java/pull/7844))
* [RealmApp] Crash when opening a Realm with a proxy enabled. (Issue [#7828](https://github.com/realm/realm-java/issues/7828))
* [RealmApp] It was possible to create a `User` object with invalid state that would throw a `NullPointerException` when accessed. (Issue [#7847](https://github.com/realm/realm-java/issues/7847))

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 13.0.0 or above is required to open Realms created by this version.
* Gradle 7.5 and above.
* Android Gradle Plugin 7.4.0 and above.

### Internal
* None.


## 10.16.1 (2023-06-26)

### Breaking Changes
* None.

### Enhancements
* None.

### Fixed
* [RealmApp] Sync errors could return the error code UNKNOWN instead of the actual error code. (Issue [#7823](https://github.com/realm/realm-java/issues/7823))

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 13.0.0 or above is required to open Realms created by this version.
* Gradle 7.5 and above.
* Android Gradle Plugin 7.4.0 and above.

### Internal
* None.


## 10.16.0 (2023-06-02)

### Breaking Changes
* None.

### Enhancements
* Add support for sorting query results on dictionary values through `RealmQuery.rawPredicate("<PREDICATE> SORT(<DICTIONARY-PROPERTY>['<DICTIONARY-KEY>'] <ORDER>)")` (Issue [#7817](https://github.com/realm/realm-java/issues/7817)).
* Improve performance of equality queries on a non-indexed mixed property by about 30%. (Core Issue [#6506](https://github.com/realm/realm-core/issues/6506))
* [RealmApp] Support for migrating from Partition-based to Flexible Sync automatically on the device if the server has migrated to Flexible Sync. (Core Issue [#6554](https://github.com/realm/realm-core/issues/6554))

### Fixed
* Add support for incremental builds on the bytecode transformation with the new AGP transform API. Incremental builds can be disabled by setting the gradle property `io.realm.disableIncrementalBuilds` to `true`. (Issue [#7802](https://github.com/realm/realm-java/issues/7802))

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 13.0.0 or above is required to open Realms created by this version.
* Gradle 7.5 and above.
* Android Gradle Plugin 7.4.0 and above.

### Internal
* Updated to Realm Core 13.13.0, commit 79183be6417821431fff44a6d416a68664957c66.


## 10.15.1 (2023-05-20)

### Breaking Changes
* None.

### Enhancements
* None.

### Fixed
* Building with Realm on Java 17 would fail with `java.lang.IllegalAccessError: class io.realm.processor.Utils (in unnamed module @0x5316ec7f) cannot access class com.sun.tools.javac.code.Symbol$ClassSymbol`. (Issue [#7799](https://github.com/realm/realm-java/issues/7799))

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 13.0.0 or above is required to open Realms created by this version.
* Gradle 7.5 and above.
* Android Gradle Plugin 7.4.0 and above.

### Internal
* Updated to Google Compile Testing 0.21.0.
* Updated Annotation Processor to use Java 11 reflection API's.


## 10.15.0 (2023-04-19)

### Breaking Changes
* Minimum version of Android Gradle Plugin has been raised to 7.4.
* Minimum version of Java has been raised to 11.
* Minimum supported version of Gradle has been raised to 7.5.

### Enhancements
* None.

### Fixed
* Building with Realm on Java 17 would fail with `java.lang.IllegalAccessError: class io.realm.processor.Utils (in unnamed module @0x5316ec7f) cannot access class com.sun.tools.javac.code.Symbol$ClassSymbol`. (Issue [#7799](https://github.com/realm/realm-java/issues/7799))

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 13.0.0 or above is required to open Realms created by this version.
* Gradle 7.5 and above.
* Android Gradle Plugin 7.4.0 and above.

### Internal
* None.


## 10.14.0-transformer-api (2023-04-14)

This release will bump the Realm file format from version 22 to 23. Opening a file with an older format will automatically upgrade it. Downgrading to a previous file format is not possible.

### Breaking Changes
* [RealmApp] As a result of a refactor on the some error codes and categories have been deleted and new ones have been added, see PR for more details. ([#7760](https://github.com/realm/realm-java/pull/7760))

### Enhancements
* Updated OpenSSL from 1.1.1n to 3.0.8.
* Realm will now use a lot less memory and disk space when different versions of realm objects are used. (Core Issue [#5440](https://github.com/realm/realm-core/issues/5440))
* Realm will now use a lot less memory and disk space when different versions of realm objects are used. (Core Issue [#5440](https://github.com/realm/realm-core/issues/5440))
* Realm will now continuously track and reduce the size of the Realm file when it is in use rather that only when opening the file with Configuration.compactOnLaunch enabled. (Core Issue [#5754](https://github.com/realm/realm-core/issues/5754))
* Multiple processes can now access the same encrypted Realm instead of throwing `Encrypted interprocess sharing is currently unsupported`. (Core Issue [#1845](https://github.com/realm/realm-core/issues/1845))

### Fixed
* Set<Mixed> consider string and binary data equivalent. This could cause the client to be inconsistent with the server if a string and some binary data with equivalent content was inserted from Atlas. ([#4860](https://github.com/realm/realm-core/issues/4860), since v11.0.0)
* Fixed wrong assertion on query error that could result in a crash. ([#6038](https://github.com/realm/realm-core/issues/6038), since v11.7.0)
* Fixed a bug that would result in `RealmDictionary` not being able to find `double` values due not taking the precision of the input parameter into consideration when using `RealmDictionary.contains`.
* Not possible to open an encrypted file on a device with a page size bigger than the one on which the file was produced. ([#8030](https://github.com/realm/realm-swift/issues/8030), since v12.11.0)
* Fix no notification for write transaction that contains only change to backlink property. ([#4994](https://github.com/realm/realm-core/issues/4994), since v11.4.1)

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 13.9.0, commit 063927de66f79a0afffbbe36c0bb14d27deba8f2.


## 10.14.0 (2023-04-13)

This release will bump the Realm file format from version 22 to 23. Opening a file with an older format will automatically upgrade it. Downgrading to a previous file format is not possible.

### Breaking Changes
* [RealmApp] As a result of a refactor on the some error codes and categories have been deleted and new ones have been added, see PR for more details. ([#7760](https://github.com/realm/realm-java/pull/7760))

### Enhancements
* Updated OpenSSL from 1.1.1n to 3.0.8.
* Realm will now use a lot less memory and disk space when different versions of realm objects are used. (Core Issue [#5440](https://github.com/realm/realm-core/issues/5440))
* Realm will now continuously track and reduce the size of the Realm file when it is in use rather that only when opening the file with Configuration.compactOnLaunch enabled. (Core Issue [#5754](https://github.com/realm/realm-core/issues/5754))
* Multiple processes can now access the same encrypted Realm instead of throwing `Encrypted interprocess sharing is currently unsupported`. (Core Issue [#1845](https://github.com/realm/realm-core/issues/1845))

### Fixed
* Set<Mixed> consider string and binary data equivalent. This could cause the client to be inconsistent with the server if a string and some binary data with equivalent content was inserted from Atlas. ([#4860](https://github.com/realm/realm-core/issues/4860), since v11.0.0)
* Fixed wrong assertion on query error that could result in a crash. ([#6038](https://github.com/realm/realm-core/issues/6038), since v11.7.0)
* Fixed a bug that would result in `RealmDictionary` not being able to find `double` values due not taking the precision of the input parameter into consideration when using `RealmDictionary.contains`.
* Not possible to open an encrypted file on a device with a page size bigger than the one on which the file was produced. ([#8030](https://github.com/realm/realm-swift/issues/8030), since v12.11.0)
* Fix no notification for write transaction that contains only change to backlink property. ([#4994](https://github.com/realm/realm-core/issues/4994), since v11.4.1)

### Compatibility
* File format: Generates Realms with format v23. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 13.9.0, commit 063927de66f79a0afffbbe36c0bb14d27deba8f2.


## 10.13.3-transformer-api (2023-03-16)

### Enhancements
* None.

### Fixed
* Added support for automatic handling of orphan embedded objects after migrating regular object properties to become embedded objects. (Issue [#7769](https://github.com/realm/realm-java/issues/7769)).
* Unit tests not being executed. (Issue [#7771](https://github.com/realm/realm-java/issues/7771))
* Instrumented unit tests failed to execute because of the Realm dependencies being missing. (Issue [#7736](https://github.com/realm/realm-java/issues/7736))

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* None.


## 10.13.2-transformer-api (2023-01-27)

### Enhancements
* None.

### Fixed
* Fix zip path separator for transformer on Windows (Issue [#7757](https://github.com/realm/realm-java/issues/7757))

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* None.


## 10.13.1-transformer-api (2023-01-16)

### Enhancements
* None.

### Fixed
* Add support for Gradle configuration cache. (Issue [#7299](https://github.com/realm/realm-java/issues/7299))

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* None.

### Credits
* Thanks to @pstavytskyi-turo for adding support for Gradle configuration cache. (Issue [#7299](https://github.com/realm/realm-java/issues/7299))


## 10.13.1 (2023-03-16)

### Enhancements
* None.

### Fixed
* Added support for automatic handling of orphan embedded objects after migrating regular object properties to become embedded objects. (Issue [#7769](https://github.com/realm/realm-java/issues/7769)).

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* None.


## 10.13.0-transformer-api (2012-12-12)

### Enhancements
* [RealmApp] Added option for working with Device Sync from an internal network. `SyncConfiguration.trustedRootCA(assetPath)` can embed a custom certificate in the app that will be used by Sync. (Issue [#7739](https://github.com/realm/realm-java/pull/7739)).
* [RealmApp] Added option for working with Device Sync from an internal network. `SyncConfiguration.disableSSLVerification()` makes it possible to turn off local SSL validation. (Issue [#7739](https://github.com/realm/realm-java/pull/7739)).

### Fixed
* Fixed database corruption and encryption issues on apple platforms. (Issue [#5076](https://github.com/realm/realm-js/issues/5076))
* [Sync] Bootstraps will not be applied in a single write transaction - they will be applied 1MB of changesets at a time. (Issue [#5999](https://github.com/realm/realm-core/pull/5999)).
* [Sync] Fixed a race condition which could result in operation cancelled errors being delivered to `Realm.open` rather than the actual sync error which caused things to fail. (Issue [#5968](https://github.com/realm/realm-core/pull/5968)).

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 12.13.0, commit b77443ca7fa25407869ca537bf3ae912b1427bff.


## 10.13.0 (2022-12-05)

### Enhancements
* [RealmApp] Added option for working with Device Sync from an internal network. `SyncConfiguration.trustedRootCA(assetPath)` can embed a custom certificate in the app that will be used by Sync. (Issue [#7739](https://github.com/realm/realm-java/pull/7739)).
* [RealmApp] Added option for working with Device Sync from an internal network. `SyncConfiguration.disableSSLVerification()` makes it possible to turn off local SSL validation. (Issue [#7739](https://github.com/realm/realm-java/pull/7739)).

### Fixed
* Fixed database corruption and encryption issues on apple platforms. (Issue [#5076](https://github.com/realm/realm-js/issues/5076))
* [Sync] Bootstraps will not be applied in a single write transaction - they will be applied 1MB of changesets at a time. (Issue [#5999](https://github.com/realm/realm-core/pull/5999)).
* [Sync] Fixed a race condition which could result in operation cancelled errors being delivered to `Realm.open` rather than the actual sync error which caused things to fail. (Issue [#5968](https://github.com/realm/realm-core/pull/5968)).

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 12.13.0, commit b77443ca7fa25407869ca537bf3ae912b1427bff.


## 10.12.0-transformer-api (2022-09-28)

### Breaking Changes
* Only works with Android Gradle Plugin 7.4 or newer. (Issue [#7714](https://github.com/realm/realm-java/issues/7714))

### Enhancements
* [RealmApp] Introduced `SyncSession.RecoverOrDiscardUnsyncedChangesStrategy`, an alternative automatic client reset strategy that tries to automatically recover any unsynced data from the client, and discards any unsynced data if not possible. This is now the default client reset policy if not explicitly set in the `SyncConfiguration`.
* [RealmApp] Introduced `SyncSession.RecoverUnsyncedChangesStrategy`, an alternative automatic client reset strategy that tries to automatically recover any unsynced data from the client and will revert to manual client reset if not possible.
* [RealmApp] Flexible sync client reset is no longer limited to `ManuallyRecoverChangesStrategy`, it now supports all available strategies: `RecoverOrDiscardUnsyncedChangesStrategy`, `RecoverUnsyncedChangesStrategy`, `DiscardUnsyncedChangesStrategy` and `ManuallyRecoverChangesStrategy`.

### Fixed
* Now queries can point to fields with query language-reserved words like 'desc', 'sort', 'distinct', etc. Issue [#7705](https://github.com/realm/realm-java/issues/7705)

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Update to Realm Core 12.6.0, commit: 5da7744b4056ad185c025bccf0924f17f73f7a91.


## 10.12.0 (2022-09-22)

### Enhancements
* [RealmApp] Introduced `SyncSession.RecoverOrDiscardUnsyncedChangesStrategy`, an alternative automatic client reset strategy that tries to automatically recover any unsynced data from the client, and discards any unsynced data if not possible. This is now the default client reset policy if not explicitly set in the `SyncConfiguration`.
* [RealmApp] Introduced `SyncSession.RecoverUnsyncedChangesStrategy`, an alternative automatic client reset strategy that tries to automatically recover any unsynced data from the client and will revert to manual client reset if not possible.
* [RealmApp] Flexible sync client reset is no longer limited to `ManuallyRecoverChangesStrategy`, it now supports all available strategies: `RecoverOrDiscardUnsyncedChangesStrategy`, `RecoverUnsyncedChangesStrategy`, `DiscardUnsyncedChangesStrategy` and `ManuallyRecoverChangesStrategy`.

### Fixed
* Now queries can point to fields with query language-reserved words like 'desc', 'sort', 'distinct', etc. Issue [#7705](https://github.com/realm/realm-java/issues/7705)

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Update to Realm Core 12.6.0, commit: 5da7744b4056ad185c025bccf0924f17f73f7a91.


## 10.11.1 (2022-07-14)

### Enhancements
* None

### Fixed
* Fixed deadlock while trying to close all Realm instances during a manual client reset. Issue [#7696](https://github.com/realm/realm-java/pull/7696))
* [RealmApp] Throw RuntimeException if subscription set is requested and flexible sync is not enabled. (Realm Core issue [#5079](https://github.com/realm/realm-core/issues/5079))
* Adding an object to a Set, deleting the parent object, and then deleting the previously mentioned object causes crash. (Realm Core issue [#5387](https://github.com/realm/realm-core/issues/5387), since 11.0.0)
* [RealmApp] The sync client may have sent a corrupted upload cursor leading to a fatal error from the server due to an uninitialized variable. ([#5460](https://github.com/realm/realm-core/pull/5460, since v11.14.0)
* [RealmApp] Flexible sync would not correctly resume syncing if a bootstrap was interrupted. ([#5466](https://github.com/realm/realm-core/pull/5466, since v11.8.0)
* [RealmApp] Flexible sync subscription state changes will now correctly be reported after sync progress is reported. ([#5553](https://github.com/realm/realm-core/pull/5553, since v12.0.0)

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Update to Realm Core 12.3.0, commit: 55a48c287b5e3a8ca129c257ec7e3b92bcb2a05f.


## 10.11.0 (2022-05-20)

### Enhancements
* Throw a more comprehensive error when initializing Realm on an Instant App.

### Fixed
* Fixed various corruption bugs when encryption is used. (Realm Core issue [#5360](https://github.com/realm/realm-core/issues/5360), since 10.10.0)
* Fixed imprecise conversion from double/float to Decimal128. (Realm Core issue [#5191](https://github.com/realm/realm-core/pull/5191))
* Fixed `RealmQuery.distinct` when it receives three or more arguments. (Issue [#7639](https://github.com/realm/realm-java/pull/7639))
* Fix issues resolving class information for `copyToRealmOrUpdate` for already managed objects in multi module projects. (Issue [#7650](https://github.com/realm/realm-java/issues/7650))

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Update to Realm Core 11.14.0, commit: db7ca86cf7ff8c9c3da6c7e742ecd46315ddc280.

### Credits
* Thanks to @Mr4Mike4 for fixing `RealmQuery.distinct` when it receives three or more arguments ([#7639](https://github.com/realm/realm-java/pull/7639)).
* Thanks to @Waboodoo for fixing some typos ([#7646](https://github.com/realm/realm-java/pull/7646)).
* Thanks to @ZherebtsovAlexandr for updating the use of the deprecated method `offer` to `trySend` ([#7648](https://github.com/realm/realm-java/pull/7648)).


## 10.10.1 (2022-01-26)

### Enhancements
* [RealmApp] Add support for setting the filename on Flexible and Partition Sync configurations.

### Fixed
* [RealmApp] Creating multiple anonymous subscriptions for a Realm would throw an exception.

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Android Gradle Plugin 7.1.0
* Updated to Gradle 7.3.3.


## 10.10.0 (2022-01-18)

### Enhancements
* [RealmApp] Add support for a new mode for synchronized realms: Flexible Sync that only synchronizes selective parts of the backend data. The following classes have been added to support this: `Subscription`, `SubscriptionSet` and `MutableSubscriptionSet`. This mode and all APIs are marked as Beta.

### Fixed
* [RealmApp] The sync client will now drain the receive queue when send fails with ECONNRESET - ensuring that any error message from the server gets received and processed. (Realm Core issue [#5078](https://github.com/realm/realm-core/pull/5078))
* [RealmApp] UserIdentity metadata table grows indefinitely. (Realm Core issue [#5152](https://github.com/realm/realm-core/issues/5152))
* Schema validation was missing for embedded objects in sets, resulting in an unhelpful error being thrown if the user attempted to define one.
* Output from the annotation processor was not deterministic, which could result in cache misses. (Issue [#7615](https://github.com/realm/realm-java/issues/7615))
* Crashes when using `RealmAny` inside `RealmList` on ARM 32 devices. (Issue [#7626](https://github.com/realm/realm-java/issues/7626))

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Update to Realm Core 11.9.0, commit: 733f12702d16ab0d0c7fea0831a2aee5ca5c26db.

### Credits
* Thanks to @jprinet for making the annotation processor output deterministic.


## 10.9.0 (2021-12-06)

### Enhancements
* [RealmApp] Add support for UUID's as partition values. (Issue [#7598](https://github.com/realm/realm-java/issues/7598))
* [RealmApp] Reduced native memory usage when working with synchronized Realms.
* [RealmApp] Make it possible to bundle synchronized Realms in apps using `Realm.writeCopyTo()` and `SyncConfiguration.Builder.assetFile()`.
* The Realm Transformer and Realm Gradle Plugin now supports the Gradle Configuration Cache. (Issue [#7299](https://github.com/realm/realm-java/issues/7299))
* [RealmApp] Introduced `SyncSession.DiscardUnsyncedChangesStrategy`, an alternative automatic client reset strategy that doesn't require the Realm to be closed, but discards any unsynced data from the client. This is now the default policy if not overridden.

### Deprecated
* [RealmApp] `SyncSession.ClientResetHandler()`. Use `SyncSession.ManuallyRecoverUnsyncedChangesStrategy()` instead.
* [RealmApp] `AppConfiguration.Builder.defaultClientResetHandler()`. Use `AppConfiguration.Builder.setDefaultSyncClientResetStrategy()` instead.
* [RealmApp] `AppConfiguration.getDefaultClientResetHandler()`. Use `AppConfiguration.getDefaultSyncClientResetStrategy()` instead.
* [RealmApp] `SyncConfiguration.Builder.clientResetHandler()`. Use `SyncConfiguration.Builder.setSyncClientResetStrategy()` instead.
* [RealmApp] `SyncConfiguration.getClientResetHandler()`. Use `SyncConfiguration.getSyncClientResetStrategy()` instead.

### Fixed
* [RealmApp] Setting `AppConfiguration.syncRootDirectory()` didn't have any effect beside creating the new folder. Realms were still placed in the default location.
* [RealmApp] Bug where progress notifiers continue to be called after the download of a synced realm is complete. (Issue [Realm Core #4919](https://github.com/realm/realm-core/issues/4919))
* [RealmApp] User being left in the logged in state when the user's refresh token expires. (Issue [Realm Core #4882](https://github.com/realm/realm-core/issues/4882), since v10)
* Using "sort", "distinct", or "limit" as field name in query expression would cause an "Invalid predicate" error. (Issue [#7545](), since v10.X.X)
* Crash when quering with 'Not()' followed by empty group. (Issue [Realm Core #4168]() since v1.0.0)
* Streaming download notifiers reported incorrect values for transferrable bytes. (Issue [Realm Core #5008]() since v11.5.2)
* `@sum` and `@avg` queries on Dictionaries of floats or doubles used too much precision for intermediates, resulting in incorrect rounding.

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 11.7.0, commit: 81eafa44879eb5f5829b345005abf99adb306133.
* Building the SDK now requires JDK 11.
* Updated to Gradle 7.2.
* Updated to Android Gradle Plugin 7.1.0-beta03.
* Updated to Kotlin 1.5.31.
* Updated to Kotlin Coroutines 1.5.2.
* Updated to CMake 3.21.4.
* Updated to NDK 23.1.7779620.
* Disable analytics for any value of the `REALM_DISABLE_ANALYTICS` environment variable, not just `true`.
* Disable analytics whenever the `CI` environment variable is set.


## 10.8.1 (2021-10-28)

### Enhancements
* None.

### Fixed
* [RealmApp] Failing to refresh the access token due to a 401/403 error will now correctly emit an error with `ErrorCode.BAD_AUTHENTICATION` rather than `ErrorCode.PERMISSION_DENIED`. (Realm Core [#4881](https://github.com/realm/realm-core/issues/4881), since 10.6.1)
* [RealmApp] If an object with a null primary key was deleted by another sync client, the exception `KeyNotFound: No such object` could be triggered. ([Realm Core #4885](https://github.com/realm/realm-core/issues/4885), since 10.0.0)
* Exceptions inside change listeners running on background looper threads would crash the Looper with a native `JNI DETECTED ERROR IN APPLICATION: JNI NewLocalRef called with pending exception` instead of the original Java exception. This could also happen when canceling a corutine using a background looper as a Dispatcher.
* [RealmApp] Reduced native memory use when synchronizing changes with the server in the background.

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 11.4.1, commit: 23f60515a00f076a9e3f2dc672fe1ae07601ee90.


## 10.8.0 (2021-08-27)

### Enhancements
* [RealmApp] `ErrorCode.INVALID_EMAIL_PASSWORD` has been added, and is now thrown instead of `ErrorCode.SERVICE_UNKNOWN` when loggin in with the wrong credentials.
* `RealmQuery.rawPredicate()` now accepts a "BETWEEN" operator. Can be used like "age BETWEEN {20, 60}" which means "'Age' must be in the open interval ]20;60[".
* [RealmApp] Added `User.remove()` and `User.removeAsync()` that makes it possible to delete a user's Realm(s) from the device.

### Fixed
* [RealmApp] Crash when integrating a schema from the server with a `RealmAny` property to a Realm File that already had that property defined locally. ([Realm Core #4873](https://github.com/realm/realm-core/issues/4873), since 10.0.0)
* [RealmApp] Refreshing the access token after 30 minutes would fail silently, causing infinite retries every 10 seconds. This would also block opening Realms when opening an app with an already logged in user. (Issue [#7501](https://github.com/realm/realm-java/issues/7501), since 10.0.0)
* [RealmApp] Clarified Javadoc for `User.logOut()` and `User.logOutAsync()` as these methods do not delete a user's Realm(s).
* Build error when having cross module model references (Issue [#7474](https://github.com/realm/realm-java/issues/7474), since v10.4.0)

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 11.3.0, commit: 321c79a67119db8177af13eefd5378586648ba73.


## 10.7.1 (2021-08-03)

### Enhancements
* None.

### Fixed
* [RealmApp] Crash when an object which is linked to by a `RealmAny` is invalidated (Sync only). ([Realm Core #4828](https://github.com/realm/realm-core/issues/4828), since v10.6.0)
* Object change listeners did not handle the object being deleted properly, which could result in assertion failures mentioning "m_table" in ObjectNotifier ([Realm Core #4824](https://github.com/realm/realm-core/issues/4824), since v10.6.0).
* Crash when delivering notifications over a nested hierarchy of lists of `RealmAny` that contain object references. ([Realm Core #4803](https://github.com/realm/realm-core/issues/4803), since v10.6.0)

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 11.2.0, commit: 583fc73040709383470797813096bee17802398e.


## 10.7.0 (2021-07-27)

### Breaking Changes
* Removed automatic injection of repositories from Gradle plugin. From now on `mavenCentral()` repository needs to be added manually. (Issue [#7365](https://github.com/realm/realm-java/issues/7365))

### Enhancements
* None.

### Fixed
* [RealmApp] Realm.getInstanceAsync does not wait for the initial remote data. (Issue [#7517](https://github.com/realm/realm-java/issues/7517))
* Build errors when doing incremental builds with Android Studio's _Apply Changes..._-actions. (Issue [#7473](https://github.com/realm/realm-java/issues/7473))

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 11.1.1, commit: 71db56caba8f8ef0398eedfffb82a908cb94ccec.


## 10.6.1 (2021-07-01)

### Enhancements
* None.

### Fixed
* [RealmApp] Configuring HTTP timeout through `AppConfiguration.Builder.requestTimeout()` did not work correctly. (Issue [#7455](https://github.com/realm/realm-java/issues/7455))
* [RealmApp] A recursive loop that would eventually crash trying to refresh a user app token when it had been revoked by an admin. Now this situation logs the user out and reports an error. (Issue [#7501](https://github.com/realm/realm-java/issues/7501))
* An endless recursive loop that could cause a stack overflow when computing changes on a set of objects which contained cycles. (Realm Core Issue [#4767](https://github.com/realm/realm-core/issues/4767))
* Opening cached Realms no longer trigger `android.os.strictmode.DiskReadViolation`. (Issue [#7500](https://github.com/realm/realm-java/issues/7500]))
* `NullPointerException` was thrown instead of `IllegalStateException` when calling `Realm.executeTransaction()` on a closed Realm. (Issue [#7511](https://github.com/realm/realm-java/issues/7511), since 10.0.0)
* `RealmDictionary` did not handle hash collisions correctly. (Realm Core issue [#4776](https://github.com/realm/realm-core/issues/4767))
* Crash after clearing a List or Set of `RealmAny` containing references to objects (Realm Core issue [#4774](https://github.com/realm/realm-core/issues/4774))

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 11.0.4, commit: 44304ce6104c4a9fc7e2359990c75be3b867b8fe.


## 10.6.0 (2021-06-15)

This release combines all changes from 10.6.0-BETA.1 and 10.6.0-BETA.2.

### Breaking Changes
* [RealmApp] Sync protocol version increased to 3. This version adds support for the new data types introduced in file format version 21.
* Primary keys now have automatic indexes again. Indexes was removed in v10.0.0 because they were not needed, but it caused issues when upgrading from a pre v10 version of Realm, and in some cases resulted in large delays when upgrading the fileformat. (Issue [#7426](https://github.com/realm/realm-java/issues/7426), since 10.0.0).
* Queries no longer do nullability checks on non-nullable fields, so using `null` as an argument will not throw an `IllegalArgumentException`.
* String query filters `contains`, `beginsWith`, `endsWith`, and `like`, now throw a null pointer exception on null values.
* The query builder no longer throw `IllegalStateException` but `IllegalArgumentException`.
* The `distinct` query filter on unsupported fields no longer throws an exception when applied through when querying across relationships.
* The `distinct` query filter no longer throws an exception when applied on non-existent fields.
* `RealmFieldType` has been updated to account for the new types being added.

### Enhancements
* Added support for `java.util.UUID` as supported field in model classes.
* Added support for `java.util.UUID` as a primary key.
* Added support for `RealmAny` as supported field in model classes. A `RealmAny` is used to represent a polymorphic Realm value or Realm Object, is indexable but cannot be used as a primary key. See [Javadoc for RealmAny](https://docs.mongodb.com/realm-sdks/java/latest/io/realm/RealmAny.html).
* Added support for `RealmDictionary` as supported field in model classes. A `RealmDictionary` is a `Map` of strings to values - all types under the `RealmAny` umbrella can be used as values. See [Javadoc for RealmDictionary](https://docs.mongodb.com/realm-sdks/java/latest/io/realm/RealmDictionary.html) and [Javadoc for RealmMap](https://docs.mongodb.com/realm-sdks/java/latest/io/realm/RealmMap.html). `RealmDictionary` is not yet supported by any of the `Realm.insert` and `Realm.createFromJson` methods - This support will be added in a future release.
* Added support for `RealmSet` as supported field in model classes. A `RealmSet` is a collection that implements the Java `Set` interface and contains no duplicate values - all types under the `RealmAny` umbrella can be used as values. See [Javadoc for RealmSet](https://docs.mongodb.com/realm-sdks/java/latest/io/realm/RealmSet.html). `RealmSet` is not yet supported by any of the `Realm.insert` and `Realm.createFromJson` methods - This support will be added in a future release.
* Allow UTF8 encoded characters in property names in string-based queries ([#4467](https://github.com/realm/realm-core/issues/4467))
* The error message when the initial steps of opening a Realm file fails is now more descriptive.
* Make conversion of Decimal128 to/from string work for numbers with more than 19 significant digits. ([#4548](https://github.com/realm/realm-core/issues/4548))
* Remove type coercion on bool and ObjectId when doing queries.
* Allow passing arguments into string-based query predicates.
* Queries across relationships now support the `between` operator.
* Queries on numerical fields (byte, short, int, long, float, double, decimal128) now accept any numerical value as an argument.
* `isEmpty` query filter can now be applied on `RealmList` and `RealmObject` fields.

### Fixed
* Fix assertion failures such as "!m_notifier_skip_version.version" or "m_notifier_sg->get_version() + 1 == new_version.version" when performing writes inside change notification callbacks. Previously refreshing the Realm by beginning a write transaction would skip delivering notifications, leaving things in an inconsistent state. Notifications are now delivered recursively when needed instead. ([Cocoa #7165](https://github.com/realm/realm-cocoa/issues/7165)).
* Fixed name aliasing not working in sort/distinct clauses when doing string-based queries. ([#4550](https://github.com/realm/realm-core/issues/4550), never before working).
* Potential/unconfirmed fix for crashes associated with failure to memory map (low on memory, low on virtual address space). For example ([#4514](https://github.com/realm/realm-core/issues/4514)).
* Syncing large Decimal128 values will cause "Assertion failed: cx.w[1] == 0" ([#4519](https://github.com/realm/realm-core/issues/4519), since v10.0.0)
* Classes names "class_class_..." were not handled correctly when doing queries ([#4480](https://github.com/realm/realm-core/issues/4480))
* Fix collection notification reporting for modifications. This could be observed by receiving the wrong indices of modifications on sorted or distinct results, or notification blocks sometimes not being called when only modifications have occurred. ([#4573](https://github.com/realm/realm-core/pull/4573) since v6).

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 11.0.3, commit de25ad9db783f931e7652d5c1431d5610b2ad67b.


## 10.6.0-BETA.2 (2021-06-14)

### Breaking Changes
* `MapChangeSet.getDeletionsCount()` has been replaced with `MapChangeSet.getDeletions()` that return the keys for entries that has been deleted instead of just the number of deleted entries.
* Primary keys now have automatic indexes again. Indexes was removed in v10.0.0 because they were not needed, but it caused issues when upgrading from a pre v10 version of Realm, and in some cases resulted in large delays when upgrading the fileformat. (Issue [#7426](https://github.com/realm/realm-java/issues/7426), since 10.0.0).

### Enhancements
* Allow `insert` and `insertOrUpdate` operations on `RealmObject` or `RealmObject` collections containing `RealmDictionary` or `RealmSet` fields.
* Added support for `RealmDictionary` in `DynamicRealmObject` with `setDictionary(String fieldName, RealmDictionary<?> dictionary)`, `getDictionary(String fieldName, Class<?> primitiveType)`, and `getDictionary(String fieldName)`.
* Added support for `RealmSet` in `DynamicRealmObject` with `setRealmSet(String fieldName, RealmSet<?> realmSet)`, `getRealmSet(String fieldName, Class<?> primitiveType)`, and `getRealmSet(String fieldName)`.

### Fixed
* Removed wrong `@Nullable` annotation on `RealmQuery.maxRealmAny()`.
* Fixed `RealmAny.getValueClass()` returning the `RealmObject` proxy class instead of the model class on a `RealmAny` referencing a managed `RealmObject`.

### Compatibility
* File format: Generates Realms with format v22. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 11.0.2, commit a30382469eb72c0cf1824b44e7062071c2f3f3a9.
* Updated to Gradle 6.8.3.


## 10.6.0-BETA.1 (2021-05-17)

### Breaking Changes
* [RealmApp] Sync protocol version increased to 3. This version adds support for the new data types introduced in file format version 21.
* File format version bumped to 21. In this version we support new basic datatypes `UUID` and `RealmAny`, as well as `RealmSet` and `RealmMap` collections with string-based keys (i.e. `RealmDictionary`).
* Queries no longer do nullability checks on non-nullable fields, so using `null` as an argument will not throw an `IllegalArgumentException`.
* String query filters `contains`, `beginsWith`, `endsWith`, and `like`, now throw a null pointer exception on null values.
* The query builder no longer throw `IllegalStateException` but `IllegalArgumentException`.
* The `distinct` query filter on unsupported fields no longer throws an exception when applied through when querying across relationships.
* The `distinct` query filter no longer throws an exception when applied on non-existent fields.

### Enhancements
* Added support for `java.util.UUID` as supported field in model classes.
* Added support for `java.util.UUID` as a primary key.
* Added support for `RealmAny` as supported field in model classes. A `RealmAny` is used to represent a polymorphic Realm value or Realm Object, is indexable but cannot be used as a primary key. See [Javadoc for RealmAny](https://docs.mongodb.com/realm-sdks/java/latest/io/realm/RealmAny.html).
* Added support for `RealmDictionary` as supported field in model classes. A `RealmDictionary` is a `Map` of strings to values - all types under the `RealmAny` umbrella can be used as values. See [Javadoc for RealmDictionary](https://docs.mongodb.com/realm-sdks/java/latest/io/realm/RealmDictionary.html) and [Javadoc for RealmMap](https://docs.mongodb.com/realm-sdks/java/latest/io/realm/RealmMap.html). `RealmDictionary` is not yet supported by any of the `Realm.insert` and `Realm.createFromJson` methods - This support will be added in a future release.
* Added support for `RealmSet` as supported field in model classes. A `RealmSet` is a collection that implements the Java `Set` interface and contains no duplicate values - all types under the `RealmAny` umbrella can be used as values. See [Javadoc for RealmSet](https://docs.mongodb.com/realm-sdks/java/latest/io/realm/RealmSet.html). `RealmSet` is not yet supported by any of the `Realm.insert` and `Realm.createFromJson` methods - This support will be added in a future release.
* Allow UTF8 encoded characters in property names in string-based queries ([#4467](https://github.com/realm/realm-core/issues/4467))
* The error message when the initial steps of opening a Realm file fails is now more descriptive.
* Make conversion of Decimal128 to/from string work for numbers with more than 19 significant digits. ([#4548](https://github.com/realm/realm-core/issues/4548))
* Remove type coercion on bool and ObjectId when doing queries.
* Allow passing arguments into string-based query predicates.
* Queries across relationships now support the `between` operator.
* Queries on numerical fields (byte, short, int, long, float, double, decimal128) now accept any numerical value as an argument.
* `isEmpty` query filter can now be applied on `RealmList` and `RealmObject` fields.

### Fixed
* Fix assertion failures such as "!m_notifier_skip_version.version" or "m_notifier_sg->get_version() + 1 == new_version.version" when performing writes inside change notification callbacks. Previously refreshing the Realm by beginning a write transaction would skip delivering notifications, leaving things in an inconsistent state. Notifications are now delivered recursively when needed instead. ([Cocoa #7165](https://github.com/realm/realm-cocoa/issues/7165)).
* Fixed name aliasing not working in sort/distinct clauses when doing string-based queries. ([#4550](https://github.com/realm/realm-core/issues/4550), never before working).
* Potential/unconfirmed fix for crashes associated with failure to memory map (low on memory, low on virtual address space). For example ([#4514](https://github.com/realm/realm-core/issues/4514)).
* Syncing large Decimal128 values will cause "Assertion failed: cx.w[1] == 0" ([#4519](https://github.com/realm/realm-core/issues/4519), since v10.0.0)
* Classes names "class_class_..." were not handled correctly when doing queries ([#4480](https://github.com/realm/realm-core/issues/4480))
* Fix collection notification reporting for modifications. This could be observed by receiving the wrong indices of modifications on sorted or distinct results, or notification blocks sometimes not being called when only modifications have occurred. ([#4573](https://github.com/realm/realm-core/pull/4573) since v6).

### Compatibility
* File format: Generates Realms with format v21. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.6.y series.
* Realm Studio 11.0.0-alpha.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 11.0.0-beta.4, commit: d50aef63a8aaf435e3afed82b589b47d8e1ab1ab.


## 10.5.1 (2021-06-14)

### Enhancements
* None.

### Fixes
* [RealmApp] Errors related to "uncaught exception in notifier thread: N5realm11KeyNotFoundE: No such object". This could happen in a sync'd app when a linked object was deleted by another client.
* [RealmApp] Replacing a referenced embedded object could result in a "ERROR: ArrayInsert: Invalid" error. (Issue [#7480](https://github.com/realm/realm-java/issues/7480))
* Notifications now trigger correctly on Linux kernel 5.5 and above. So far this only impacted the preview emulator image for Android 12. (Issue[#7321](https://github.com/realm/realm-java/issues/7321))
* Raw query predicates not supporting integer constants above 32 bits on a 32 bit platform.

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 10.8.1, commit 2a67b996faf9e0b5d47ac402c4d3926713f99418.


## 10.5.0 (2021-05-07)

### Breaking Changes
* [RealmApp] `SyncSession.State.WaitingForAccessToken` has been added. It represents the local access token not longer being valid, but is automatically being refreshed.

### Enhancements
* We now make a backup of a Realm file prior to any file format upgrade. The backup is retained for 3 months. Backups from before a file format upgrade allows for better analysis of any upgrade failure. We also restore a backup, if a) an attempt is made to open a realm file whith a "future" file format and b) a backup file exist that fits the current file format. The backup file is placed next to the real Realm file and is named `<fileName>.v<realmFileFormatVersion>.backup.realm`.
* The error message when the intial steps of opening a Realm file fails is now more descriptive.

### Fixes
* [RealmApp] Client Reset errors now correctly forward the server error message. (Issue [#7363](https://github.com/realm/realm-java/issues/7363), since 10.0.0)
* [RealmApp] All `AppException`s now correctly report the error message through `RuntimeException.getMessage()` instead of only through `AppException.getErrorMessage()`.
* [RealmApp] Proactively check the expiry time on the access token and refresh it before attempting to initiate a sync session. This prevents some error logs from appearing on the client such as: "ERROR: Connection[1]: Websocket: Expected HTTP response 101 Switching Protocols, but received: HTTP/1.1 401 Unauthorized" (RCORE-473, since v10.0.0).
* Fix name aliasing not working in sort/distinct clauses of raw string predicates.
* Fix collection notification reporting for modifications. This could be observed by receiving the wrong indices of modifications on sorted or distinct results, or notification sometimes not being called when only modifications have occured. (since v7.0.0).
* Make conversion of Decimal128 to/from string work for numbers with more than 19 significant digits. (#4548)

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 10.7.1, commit 5043c25e1d8f5971002e0fec85dea5ea3d7eb3d7.


## 10.4.0 (2021-03-26)

All releases from 10.4.0 and forward are now found on `mavenCentral()` instead of `jcenter()`.

A minimal supported setup will therefore now look like this:

```
allprojects {
    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath "io.realm:realm-gradle-plugin:10.4.0"
        }
    }

    repositories {
        mavenCentral()
    }
}
```

`SNAPSHOT` releases have also been moved from `http://oss.jfrog.org/artifactory/oss-snapshot-local`
to `https://oss.sonatype.org/content/repositories/snapshots/`. See [here](https://github.com/realm/realm-java/blob/master/README.md#using-snapshots)
for more information.

### Enhancements
* Added support for the string-based Realm Query Language through `RealmQuery.rawPredicate(...)`. This allows many new type of queries not previously supported by the typed query API. See the Javadoc on this method for further details. (Issue [#6116](https://github.com/realm/realm-java/pull/6116))
* Performance of sorting on more than one property has been improved. Especially important if many elements match on the first property.

### Fixes
* Calling max/min/sum/avg on a List may give wrong results (Realm Core [#4252](https://github.com/realm/realm-core/issues/4252), since v10.0.0)
* Fix an issue when using `RealmResults.freeze()` across threads with different transaction versions. Previously, copying the `RealmsResults`' native resource could result in a stale state or objects from a future version. (Realm Core [#4254](https://github.com/realm/realm-core/pull/4254)).
* On 32-bit devices you may get exception with "No such object" when upgrading to v10.* ([#7314](https://github.com/realm/realm-java/issues/7314), since v10.0.0)

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core 10.5.6, commit 92129110dece2cee59839e20be3a7067084a1196.
* Updated to NDK 22.0.7026061.
* Updated to ReLinker 1.4.3.

## 10.3.1 (2021-01-28)

### Enhancements
* None.

### Fixes
* RxJava Flowables/Observables and Coroutine Flows would crash if they were created from a `RealmList` and the parent object holding the list was deleted. Now, the stream is disposed/closed instead. (Issue [#7242](https://github.com/realm/realm-java/issues/7242))
* Fixes Realm models default values containing objects with a PK might crash with a `RealmPrimaryKeyConstraintException`. (Issue [#7269] (https://github.com/realm/realm-java/issues/7269))

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.

### Internal
* None.


## 10.3.0 (2021-01-08)

### Enhancements
* [RealmApp] Upgraded to OpenSSL 1.1.1g.

### Fixes
* [RealmApp] Integrating a remote Sync changeset into the local Realm could result in an `Index out of range error`.
* Change notifications not firing when removing and adding an object with the same primary key within a transaction (Issue [#7098](https://github.com/realm/realm-java/issues/7098)).
* Race condition which would lead to "uncaught exception in notifier thread: N5realm15InvalidTableRefE: transaction_ended" and a crash when the source Realm was closed or invalidated at a very specific time during the first run of a collection notifier (Core issue [#3761](https://github.com/realm/realm-core/issues/3761), since v7.0.0).
* Deleting and recreating objects with embedded objects could fail (Core issue [#4240](https://github.com/realm/realm-core/pull/4240), since v10.0.0)
* Added `@Nullable` annotation to input parameter in `RealmObject.isValid(item)` to avoid mismatch warnings from Kotlin code (Issue [#7216](https://github.com/realm/realm-java/issues/7216)).

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Core: 10.3.3 (Monorepo).
* Updated to Realm Core commit: 8af0f8d609491986b49f2c986e771d9dc445664d.


## 10.2.0 (2020-12-02)

### Deprecated
* [RealmApp] `Credentials.google(authenticationCode: String)`. Use `Credentials.google(token: String, authType: GoogleAuthType)` instead.

### Breaking Changes
* None.

### Enhancements
* [RealmApp] Added `Credentials.google(token: String, authType: GoogleAuthType)`, as MongoDB Realm now supports multiple ways of logging into Google Accounts.

### Fixes
* [RealmApp] Bug that would prevent eventual consistency during conflict resolution. Affected clients would experience data divergence and potentially consistency errors as a result if they experienced conflict resolution between cycles of Create-Erase-Create for objects with primary keys.
* Clean up JNI references to prevent crash from JNI reference table overflow (Issue [#7217](https://github.com/realm/realm-java/issues/7217))

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Sync: 10.1.4.
* Updated to Object Store commit: f838a27402c5b5243280102014defd844420abba66eb93c10334507d9c0fd513.


## 10.1.2 (2020-12-02)

### Breaking Changes
* None.

### Enhancements
* None.

### Fixes
* Complementary fix for missed edge case in https://github.com/realm/realm-java/pull/7220 where KAPT crash if we process a RealmObject referencing a type in RealmList defined in another module. (Issue [#7213](https://github.com/realm/realm-java/issues/7213), since v10.0.0).

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.


## 10.1.1 (2020-11-27)

### Breaking Changes
* None.

### Enhancements
* None.

### Fixes
* KAPT crash when processing a RealmObject referenced from another module (changed revealed after we started checking for embedded types). (Issue [#7213](https://github.com/realm/realm-java/issues/7213), since v10.0.0).

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Sync: 10.1.3.
* Updated to Realm Core: 10.1.3.
* Updated to Object Store commit: fc6daca61133aa9601e4cb34fbeb9ec7569e162e.


## 10.1.0 (2020-11-23)

### Breaking Changes
* None.

### Enhancements
* Added `FlowFactory` interface that allows customization of `Flow` emissions, just as we do with `RxObservableFactory`. A default implementation, `RealmFlowFactory`, is provided when building `RealmConfiguration`s.
* Added `toChangeSetFlow` methods (similar to the Rx `asChangesetFlowable` methods) for `RealmObject`, `RealmResults` and `RealmList`.

### Fixes
* Fixed crash when adding classes containing an `ObjectId` as primary key to the schema. (Issue [#7189](https://github.com/realm/realm-java/issues/7189), since v10.0.0)
* Fixed crash when creating proxy classes containing an `ObjectId` as primary key. (Issue [#7197](https://github.com/realm/realm-java/issues/7197), since v10.0.0)
* Fixed crash where calls to `toFlow` could crash if the Flow job is canceled and object updates are emitted after that happens. (Issue [7211](https://github.com/realm/realm-java/issues/7211), since v10.0.1)

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Sync: 10.1.3.
* Updated to Realm Core: 10.1.3.
* Updated to Object Store commit: fc6daca61133aa9601e4cb34fbeb9ec7569e162e.


## 10.0.1 (2020-11-06)

### Breaking Changes
* None.

### Enhancements
* Improved the error message for `NoSuchTable` errors. In some cases an outdated native reference was used,but the table was still there. In those cases an `InvalidTableRef` error is now used.

### Fixes
* [RealmApp] The `SyncConfiguration.Builder.allowQueriesOnUiThread` flag was wrongly initialized to `false` keeping users from running queries from the UI thread when using synced Realms. It now defaults to `true`, allowing queries to be run from the UI. (Issue [#7177](https://github.com/realm/realm-java/issues/7177), since 10.0.0)
* Crash with `Assertion failed: m_method_id != nullptr with (method_name, signature) =  ["<init>", "(Ljava/lang/String;)V"]` when `Minify` is enabled. (Issue [#7159](https://github.com/realm/realm-java/pull/7159), since 10.0.0)
* Fix crash in case insensitive query on indexed string columns when nothing matches (Cocoa issue [#6836](https://github.com/realm/realm-cocoa/issues/6836), since v10.0.0)
* Fix list of primitives with nullable values where `Lst::is_null(ndx)` always false even on null values, (Core issue [#3987](https://github.com/realm/realm-core/pull/3987), since v10.0.0).
* Fix queries for the size of a list of primitive nullable ints returning size + 1. (Core issue [#4016](https://github.com/realm/realm-core/pull/4016), since v10.0.0).

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Sync: 10.1.0.
* Updated to Realm Core: 10.1.0.
* Updated to Object Store commit: fd246c54de7d1fee6bcbeb3609de75a4eccd5b70.


## 10.0.0 (2020-10-15)

NOTE: This is a unified release note covering all v10.0.0-BETA.X v10.0.0-RC.X releases.

NOTE: Support for syncing with realm.cloud.io and/or Realm Object Server has been replaced with support for syncing with MongoDB Realm Cloud.

NOTE: This version upgrades the Realm file format to version 20. It is not possible to downgrade to earlier versions than v10.0.0-BETA.7. Non-sync Realms will be upgraded automatically. Synced Realms can only be automatically upgraded if created with Realm Java v10.0.0-BETA.1 and above.

### Breaking Changes
* [RealmApp] Most APIs for interacting with Realm Cloud have changed significantly. All new APIs can be found in the `io.realm.mongodb` package. The entry point is through the `App` class from which you can create and login users and otherwise interact with MongoDB Realm. See [the docs](https://docs.mongodb.com/realm/android/) for further details. Synced Realms still use a `SyncConfiguration` that are largely created the same way.
* [RealmApp] Client Resets are now handled through a custom `SyncConfiguration.Builder.clientResetHandler()` instead of through the default session error handler `SyncConfiguration.Builder.errorHandler()`
* [RealmApp] Realm files have changed location on disk. They are now located in `getFiles()/mongodb-realm`.
* [RealmApp] All synced model classes not marked as embedded are required to have a primary key named `_id`. It is possible to use `@RealmField(name = "_id")` to map from any Java or Kotlin property.
* From now on it is by default not allowed to run transactions with either `Realm.executeTransaction()` or `DynamicRealm.executeTransaction()` from the UI thread. Doing so will yield a `RealmException`. Users can override this behavior by using `RealmConfiguration.Builder.allowWritesOnUiThread(true)` when building a `RealmConfiguration` to obtain a Realm or DynamicRealm instance, however, we do not recommend doing so. Instead, we recommend using `executeTransactionAsync()` or, alternatively, using non-UI threads when calling `executeTransaction()` for both `Realm`s and `DynamicRealm`s.

### Enhancements
* Users can now opt out from allowing queries to be launched from the UI thread by using `RealmConfiguration.Builder.allowQueriesOnUiThread(false)`. A `RealmException` will be thrown when calling `RealmQuery.findAll()`, `RealmQuery.findFirst()`, `RealmQuery.minimumDate()`, `RealmQuery.maximumDate()`, `RealmQuery.count()`, `RealmQuery.sum()`, `RealmQuery.max()`, `RealmQuery.min()`, `RealmQuery.average()` and `RealmQuery.averageDecimal128()` from the UI thread after having used `allowQueriesOnUiThread(false)`. Queries will be allowed from the thread from which the Realm instance was obtained as it always has been by default, although we recommend using `RealmQuery.findAllAsync()` or `RealmQuery.findFirstAsync()`, or, alternatively, using a non-UI thread to launch them.
* `BaseRealm.refresh()` will throw a `RealmException` if it is being called from the UI thread if `allowQueriesOnUiThread` is set to `false`, though it will be allowed by default.
* Added `DynamicRealm.executeTransactionAsync()`.
* Added Kotlin extension suspend function `Realm.executeTransactionAwait()` which runs transactions inside coroutines.
* Added Kotlin extension function `RealmResults.toFlow()` which returns a Kotlin flow, similar to our RxJava convenience method `asFlowable()`.
* Added Kotlin extension function `RealmList.toFlow()` which returns a Kotlin flow, similar to our RxJava convenience method `asFlowable()`.
* Added Kotlin extension function `RealmModel.toFlow()` which returns a Kotlin flow, similar to our RxJava convenience method `asFlowable()`.
* RealmLists can now be marked final. (Issue [#6892](https://github.com/realm/realm-java/issues/6892))
* Added support for `distinct` queries on non-index and linked fields. (Issue [#1906](https://github.com/realm/realm-java/issues/1906))
* Added support for `org.bson.types.Decimal128` and `org.bson.types.ObjectId` as supported fields in model classes.
* Added support for `org.bson.types.ObjectId` as a primary key.
* Added support for "Embedded Objects". They are enabled using `@RealmClass(embedded = true)`. An embedded object must have exactly one parent object linking to it and it will be deleted when the parent is. Embedded objects can also be the parent of other embedded classes. Read more [here](https://docs.mongodb.com/realm/android/embedded-objects/). (Issue [#6713](https://github.com/realm/realm-java/issues/6713))


### Fixes
* None.

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java v10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 or above is required to open Realms created by this version.

### Internal
* Updated to Realm Sync: 10.0.0.
* Updated to Realm Core: 10.0.0.


## 10.0.0-RC.2 (2020-10-12)

### Enhancements
* [RealmApp] Illegal schemas where embedded object classes referenced each other is now correctly detected and throws and exception when opening a Realm with such a schema.

### Fixed
* [RealmApp] It is now possible to use types different than `ObjectId` for the `_id` field in documents inserted with `MongoCollection.insertOne` and `MongoCollection.insertMany`.
* [RealmApp] Lossy round trip of Double and Timestamps through functions when using Bson. (ObjectStore issue (#1106)[https://github.com/realm/realm-object-store/issues/1106])

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java 10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 and above is required to open Realms created by this version.

### Internal
* Updated to Object Store commit: 6b44209e6fcac0137e193c96444f93c50d184d06.


## 10.0.0-RC.1 (2020-10-02)

We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

The old Realm Cloud legacy APIs have undergone significant refactoring. The new APIs are all located in the `io.realm.mongodb` package with `io.realm.mongodb.App` as the entry point.

### Breaking Changes
* From now on it is not allowed by default to run transactions with either `Realm.executeTransaction()` or `DynamicRealm.executeTransaction()` from the UI thread. Doing so will yield a `RealmException`. Users can override this behavior by using `RealmConfiguration.Builder.allowWritesOnUiThread(true)` when building a `RealmConfiguration` to obtain a Realm or DynamicRealm instance, though we do not recommend doing so. Instead, we recommend using `executeTransactionAsync()` or, alternatively, using non-UI threads when calling `executeTransaction()` for both `Realm`s and `DynamicRealm`s.

### Enhancements
* Users can now opt out from allowing queries to be launched from the UI thread by using `RealmConfiguration.Builder.allowQueriesOnUiThread(false)`. A `RealmException` will be thrown when calling `RealmQuery.findAll()`, `RealmQuery.findFirst()`, `RealmQuery.minimumDate()`, `RealmQuery.maximumDate()`, `RealmQuery.count()`, `RealmQuery.sum()`, `RealmQuery.max()`, `RealmQuery.min()`, `RealmQuery.average()` and `RealmQuery.averageDecimal128()` from the UI thread after having used `allowQueriesOnUiThread(false)`. Queries will be allowed from the thread from which the Realm instance was obtained as it always has been by default, although we recommend using `RealmQuery.findAllAsync()` or `RealmQuery.findFirstAsync()`, or, alternatively, using a non-UI thread to launch them.
* `BaseRealm.refresh()` will throw a `RealmException` if it is being called from the UI thread if `allowQueriesOnUiThread` is set to `false`, though it will be allowed by default.
* Added `DynamicRealm.executeTransactionAsync()`.
* Added Kotlin extension suspend function `Realm.executeTransactionAwait()` which runs transactions inside coroutines.
* Added Kotlin extension function `RealmResults.toFlow()` which returns a Kotlin flow, similar to our RxJava convenience method `asFlowable()`.
* Added Kotlin extension function `RealmList.toFlow()` which returns a Kotlin flow, similar to our RxJava convenience method `asFlowable()`.
* Added Kotlin extension function `RealmModel.toFlow()` which returns a Kotlin flow, similar to our RxJava convenience method `asFlowable()`.

### Fixed
* Using `Realm.copyToRealmOrUpdate()` and `Realm.insertOrUpdate()` did not correctly update objects if they contained lists of embedded objets. Instead of replacing the original list, list items was appended to the original list. Note, some corner cases are still not supported. See [#7138](https://github.com/realm/realm-java/issues/7138) for more information. (Issue [#7131](https://github.com/realm/realm-java/issues/7131), since 10.0.0-BETA.1).

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java 10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 and above is required to open Realms created by this version.

### Internal
* Updated to Object Store commit: ef6736cc07a8b94d1242c522969114bb8047deef
* Updated to Realm Sync 10.0.0-beta.14.
* Updated to Realm Core 10.0.0-beta.9.


## 10.0.0-BETA.8 (2020-09-23)

We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

The old Realm Cloud legacy APIs have undergone significant refactoring. The new APIs are all located in the `io.realm.mongodb` package with `io.realm.mongodb.App` as the entry point.

### Fixed
* [RealmApp] Logging in caused an `token contains an invalid number of segments` error. (Issue [#7117](https://github.com/realm/realm-java/issues/7117), since 10.0.0-BETA.7)
* [RealmApp] The order of arguments to `EmailPassword.resetPassword()` was not handled correctly, resulting in resetting the password failing. (Issue [#7116](https://github.com/realm/realm-java/issues/7116), since 10.0.0-BETA.1)

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java 10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 and above is required to open Realms created by this version.

### Internal
* Updated to Object Store commit: 035eb07f3ef313bfb78c046be9cf6b4f065d6772.


## 10.0.0-BETA.7 (2020-09-16)

We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

The old Realm Cloud legacy APIs have undergone significant refactoring. The new APIs are all located in the `io.realm.mongodb` package with `io.realm.mongodb.App` as the entry point.

WARNING: This release upgrades the fileformat to 20. Non-sync Realms will be upgraded automatically. Synced Realms can only be automatically upgraded if created with Realm Java 10.0.0-BETA.1 and above.


### Breaking Changes
* [RealmApp] Moved `User.remove()` to `App.removeUser()`.
* [RealmApp] Renamed `ApiKeyAuth.createApiKey()` to `ApiKeyAuth.create()` and `ApiKeyAuth.createApiKeyAsync()` to `ApiKeyAuth.createAsync()`.
* [RealmApp] Renamed `ApiKeyAuth.fetchApiKey()` to `ApiKeyAuth.fetch()` and `ApiKeyAuth.fetchApiKeyAsync()` to `ApiKeyAuth.fetchAsync()`.
* [RealmApp] Renamed `ApiKeyAuth.fetchAllApiKeys()` to `ApiKeyAuth.fetchAll()` and `ApiKeyAuth.fetchAllApiKeysAsync()` to `ApiKeyAuth.fetchAllAsync()`.
* [RealmApp] Renamed `ApiKeyAuth.deleteApiKey()` to `ApiKeyAuth.delete()` and `ApiKeyAuth.deleteApiKeyAsync()` to `ApiKeyAuth.deleteAsync()`.
* [RealmApp] Renamed `ApiKeyAuth.enableApiKey()` to `ApiKeyAuth.enable()` and `ApiKeyAuth.enableApiKeyAsync()` to `ApiKeyAuth.enableAsync()`.
* [RealmApp] Renamed `ApiKeyAuth.disableApiKey()` to `ApiKeyAuth.disable()` and `ApiKeyAuth.disableApiKeyAsync()` to `ApiKeyAuth.disableAsync()`.
* [RealmApp] Renamed `User.getApiKeysAuth()` to `User.getApiKeys()`.
* [RealmApp] Renamed `UserApiKey` class to `ApiKey`.
* [RealmApp] Removed support for `Credentials.serverApiKey()`.
* [RealmApp] Renamed `App.getEmailPasswordAuth()` to `App.getEmailPassword()`.
* [RealmApp] User profile methods `getName()`, `getEmail()`, `getPictureUrl()`, `getFirstName()`, `getLastName()`, `getGender()`, `getBirthday()`, `getMinAge()` and `getMaxAge()` are now available under a new class `UserProfile`. It can be accessed using `User.getProfile()`.
* [RealmApp] Renamed `Sync.refreshConnections()` to `Sync.reconnect()`.
* [RealmApp] Renamed `Credentials.IdentityProvider` to `Credentials.Provider`.
* [RealmApp] Removed support for `User.getLocalId()`.
* [RealmApp] Client Resets are now handled through a custom `SyncConfiguration.Builder.clientResetHandler()` instead of through the default session error handler `SyncConfiguration.Builder.errorHandler()`

### Enhancements
* [RealmApp] It is now possible to create App instances with different app id's.
* [RealmApp] Support for using `null` as a partition value.
* [RealmApp] Improve errors exception messages from `SyncSession.downloadAllServerChanges()` and `SyncSession.uploadAllLocalChanges()`.
* [RealmApp] Support for watching MongoCollection change streams (Issue [#6912](https://github.com/realm/realm-java/issues/6912))
* [RealmApp] Support for retrying a custom confirmation function on an User for a given email (Issue [#7079](https://github.com/realm/realm-java/pull/7079))
* [RealmApp] Support for getting all app sessions via `Sync.getAllSessions()`.
* [RealmApp] Support to retrieve the MongoClient service name using `MongoClient.getServiceName()`
* [RealmApp] Support to retrieve the MongoDatabase name using `MongoDatabase.getName()`
* [RealmApp] Support to retrieve the MongoCollection name using `MongoCollection.getName()`

### Fixed
* If you have a realm file growing towards 2Gb and have a table with more than 16 columns, then you may get a "Key not found" exception when updating an object. If asserts are enabled at the sdk level, you may get an "assert(m_has_refs)" instead. ([#3194](https://github.com/realm/realm-js/issues/3194), since v7.0.0)
* In cases where you have more than 32 columns in a table, you may get a currrupted file resulting in various crashes ([#7057](https://github.com/realm/realm-java/issues/7057), since v7.0.0)

### Compatibility
* File format: Generates Realms with format v20. Unsynced Realms will be upgraded from Realm Java 2.0 and later. Synced Realms can only be read and upgraded if created with Realm Java 10.0.0-BETA.1.
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 and above is required to open Realms created by this version.

### Internal
* Updated to Object Store commit: 6ab48d3b4b1e0865f68b84d5993bb2aad910320b.
* Updated to Realm Sync 10.0.0-beta.11.
* Updated to Realm Core 10.0.0-beta.7.


## 10.0.0-BETA.6 (2020-08-17)

We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

The old Realm Cloud legacy APIs have undergone significant refactoring. The new APIs are all located in the `io.realm.mongodb` package with `io.realm.mongodb.App` as the entry point.

### Breaking Changes
* [RealmApp] Realm files have changed location on disk, so Realms should upload all their data to the server before upgrading.
* [RealmApp] Removed GMS Task framework and added RealmResultTask to provide with a mechanism to operate with asynchronous operations. MongoCollection has been updated to reflect this change.

### Enhancements
* [RealmApp] Credentials information (e.g. username, password) displayed in Logcat is now obfuscated by default, even if [LogLevel] is set to DEBUG, TRACE or ALL.
* RealmLists can now be marked final. (Issue [#6892](https://github.com/realm/realm-java/issues/6892))
* It is now possible to create embedded objects using [DynamicRealm]s. (Issue [#6982](https://github.com/realm/realm-java/pull/6982))
* Added extra validation and more meaningful error messages when creating embedded objects pointing to the wrong parent property. (See issue above)

### Fixed
* [RealmApp] The same user opening different Realms with different partion key values would crash with an IllegalArgumentException. (Issue [#6882](https://github.com/realm/realm-java/issues/6882), since 10.0.0-BETA.1)
* [RealmApp] Sync would not refresh the access token if started with an expired one. (Since 10.0.0-BETA.1)
* [RealmApp] Leaking objects when registering session listeners. (Issue [#6916](https://github.com/realm/realm-java/issues/6916))
* Added support for Json-import of objects containing embedded objects. (Issue [#6896](https://github.com/realm/realm-java/issues/6896))
* Upgrading the file format result did in some cases not work correctly. This could result in a number of crashes, e.g. `FORMAT_UPGRADE_REQUIRED`. (Issue [#6889](https://github.com/realm/realm-java/issues/6889), since 7.0.0)
* Bug in memory mapping management. This bug could result in multiple different asserts as well as segfaults. In many cases stack backtraces would include members of the EncyptedFileMapping near the top - even if encryption was not used at all. In other cases asserts or crashes would be in methods reading an array header or array element. In all cases the application would terminate immediately. (Realm Core PR [#3838](https://github.com/realm/realm-core/pull/3838), since 7.0.0)
* It was possible to use `RealmObjectSchema` to mark a Class as embedded even if some of the objects broke the constraints for being embedded.

### Compatibility
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 and above is required to open Realms created by this version.

### Internal
* Upgraded to Object Store commit: 5b5fb8a90192cb4ee6799e7465745cd2067f939b.
* Upgraded to Realm Sync 10.0.0-beta.6.
* Upgraded to Realm Core 10.0.0-beta.4.


## 10.0.0-BETA.5 (2020-06-19)

We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

The old Realm Cloud legacy API's have undergone significant refactoring. The new API's are all located in the `io.realm.mongodb` package with `io.realm.mongodb.App` as the entry point.

### Enhancements
* [RealmApp] Added support for Api Keys, Server Api Keys and Custom Functions as Credential types when logging in.
* Added support for `distinct` queries on non-index and linked fields. (Issue [#1906](https://github.com/realm/realm-java/issues/1906))

### Fixed
* None.

### Compatibility
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 and above is required to open Realms created by this version.

### Internal
* Upgraded to Object Store commit: e1570f8d3d7cf4d77f049933e6a241a501301383.

## 10.0.0-BETA.4 (2020-06-11)

We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

The old Realm Cloud legacy API's have undergone significant refactoring. The new API's are all located in the `io.realm.mongodb` package with `io.realm.mongodb.App` as the entry point.

### Breaking Changes
* None.

### Enhancements
* [RealmApp] Added support for Custom Data using `User.customData()` and `User.refreshCustomData()`.
* [RealmApp] Added support for managing push notifications using `App.getPush()`.

### Fixed
* [RealmApp] Opening a synced Realm for a cached user with expired access token would crash the app with `Assertion failed: cls with (class_name) = ["io/realm/internal/objectstore/OsJavaNetworkTransport$Response"]`. (Issue [#6937](https://github.com/realm/realm-java/issues/6937), since 10.0.0-BETA.1)

### Compatibility
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 and above is required to open Realms created by this version.

### Internal
* Updated to Object Store commit: 017d58fbec8a18ab003976b4c346308df88349a6.


## 10.0.0-BETA.3 (2020-06-09)

We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

The old Realm Cloud legacy API's have undergone significant refactoring. The new API's are all located in the `io.realm.mongodb` package with `io.realm.mongodb.App` as the entry point.

### Breaking Changes
* None.

### Enhancements
* None.

### Fixed
* [RealmApp] When restarting an app, the base URL used would in some cases be incorrect. (Since 10.0.0-BETA.2)

### Compatibility
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 and above is required to open Realms created by this version.

### Internal
* Updated to Object Store commit: c02707bc28e1886970c5da29ef481dc0cb6c3dd8.


## 10.0.0-BETA.2 (2020-06-08)

We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

The old Realm Cloud legacy API's have undergone significant refactoring. The new API's are all located in the `io.realm.mongodb` package with `io.realm.mongodb.App` as the entry point.

### Breaking Changes
* None.

### Enhancements
* None.

### Fixed
* [RealmApp] `AppConfiguration` did not fallback to the correct default baseUrl if none was provided. (Since 10.0.0-BETA.1)
* [RealmApp] When restarting an app, re-using the already logged in user would result in Sync not resuming. (Since 10.0.0-BETA.1)

### Compatibility
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 and above is required to open Realms created by this version.

### Internal
* Updated to Object Store commit: c50be4dd178ef7e11d453f61a5ac2afa8c1c10bf.
* Updated to Realm Sync 10.0.0-beta.2.


## 10.0.0-BETA.1 (2020-06-05)

We no longer support Realm Cloud (legacy), but instead the new MongoDB Realm Cloud. MongoDB Realm is a serverless platform that enables developers to quickly build applications without having to set up server infrastructure. MongoDB Realm is built on top of MongoDB Atlas, automatically integrating the connection to your database.

The old Realm Cloud legacy API's have undergone significant refactoring. The new API's are all located in the `io.realm.mongodb` package with `io.realm.mongodb.App` as the entry point.

### Breaking Changes
* [RealmApp] Removed all references and API's releated to permissions. These are now managed through MongoDB Realm.
* [RealmApp] Query Based Sync API's and Subscriptions. These API's are not initially supported by MongoDB Realm. They will be re-introduced in a future release. `SyncConfiguration.partitionKey()` has been added as a replacement.
* [RealmApp] Removed support for Client Resync. These API's are not initially supported by MongoDB Realm. They will be re-introduced in a future release.
* [RealmApp] Removed suppport for custom SSL certificates. These API's are not initially supported by MongoDB Realm. They will be re-introduced in a future release.
* [RealmApp] Destructive updates of a schema of a synced Realm will now consistently throw an `UnsupportedOperationException` instead of some methods throwing `IllegalArgumentException`. The affected methods are `RealmSchema.remove(String)`, `RealmSchema.rename(String, String)`, `RealmObjectSchema.setClassName(String)`, `RealmObjectSchema.removeField(String)`, `RealmObjectSchema.renameField(String, String)`, `RealmObjectSchema.removeIndex(String)`, `RealmObjectSchema.removePrimaryKey()`, `RealmObjectSchema.addPrimaryKey(String)` and `RealmObjectSchema.addField(String, Class<?>, FieldAttribute)`

### Enhancements
* Added support for `org.bson.types.Decimal128` and `org.bson.types.ObjectId` as supported fields in model classes.
* Added support for `org.bson.types.ObjectId` as a primary key.
* Added support for "Embedded Objects". They are enabled using `@RealmClass(embedded = true)`. An embedded object must have exactly one parent object linking to it and it will be deleted when the the parent is. Embedded objects can also be the parent of other embedded classes. Read more [here](https://realm.io/docs/java/latest/#embedded-objects). (Issue [#6713](https://github.com/realm/realm-java/issues/6713))

### Fixed
* After upgrading a Realm file, you may at some point receive a 'NoSuchTable' exception. (Issue [Core#3701](https://github.com/realm/realm-core/issues/3701), since 7.0.0)
* If the Realm file upgrade process was interrupted/killed for various reasons, the following run would some assertions failing. (Issue [#6866](https://github.com/realm/realm-java/issues/6866), since 7.0.0).

### Compatibility
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 10.x.y series.
* Realm Studio 10.0.0 and above is required to open Realms created by this version.

### Internal
* Updated to Object Store commit: 6d081a53377514f9b77736cb03051a03d829da922.
* Updated to Realm Sync 10.0.0-beta.1.
* Updated to Realm Core 10.0.0-beta.1.
* OKHttp was upgraded to 3.12.0 from 3.10.0.
* Updated Android Gradle Plugin to 3.6.1.
* Updated Gradle to 5.6.4
* Updated Dokka to 0.10.1
* Updated Android Build Tools to 29.0.2.
* Updated compileSdkVersion to 29.


## 7.0.8 (2020-10-01)

### Enhancements
* Slightly improve performance of most operations which read data from the Realm file.

### Fixes
* Making a query in an indexed property may give a "Key not found" exception. (.NET issue [#2025](https://github.com/realm/realm-dotnet/issues/2025), since 7.0.0)
* Queries for null on non-nullable indexed integer properties could return wrong results if 0 entries should be found. (Since 7.0.0)
* Rerunning an equals query on an indexed string column which previously had more than one match and now has one match would sometimes throw a "key not found" exception. (Cocoa issue [#6536](https://github.com/realm/realm-cocoa/issues/6536), Since 7.0.0)

### Compatibility
* Realm Object Server: 3.23.1 or later.
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 7.x.y series.

### Internal
* Upgraded to Object Store commit: 8a68df3e9fa7743c13d927eb7fc330ed9bb06693.
* Upgraded to Realm Sync: 5.0.28.
* Upgraded to Realm Core: 6.1.3.


## 7.0.7 (2020-09-25)

### Enhancements
* None.

### Fixes
* When querying a class where object references are part of the condition, the application may crash if objects have recently been added to the target table. (Issue [#7118](https://github.com/realm/realm-java/issues/7118), since v7.0.0)

### Compatibility
* Realm Object Server: 3.23.1 or later.
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 7.x.y series.

### Internal
* Upgraded to Object Store commit: 37e86c2905bfd424c16fc5d7860a1298bfc0ffa2.
* Upgraded to Realm Sync: 5.0.25.
* Upgraded to Realm Core: 6.1.1.


## 7.0.6 (2020-09-18)

### Enhancements
* Better exception messaging for UTF encoding errors. ([Issue #7093](https://github.com/realm/realm-java/pull/7093))

### Fixes
* Fixes concurrent modification exceptions in the schema when refreshing a Realm (Issue [#6876](https://github.com/realm/realm-java/issues/6876))
* If you use encryption your application cound crash with a message like "Opening Realm files of format version 0 is not supported by this version of Realm". ([#6889](https://github.com/realm/realm-java/issues/6889) among others, since v7.0.0)

### Compatibility
* Realm Object Server: 3.23.1 or later.
* Realm Studio: 5.0.0 or later.
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 7.x.y series.

### Internal
* Upgraded to Object Store commit: e29b5515df8b8adfe2454424b78878bb63879307.
* Upgraded to Realm Sync: 5.0.23.
* Upgraded to Realm Core: 6.0.26.


## 7.0.5 (2020-09-09)

### Enhancements
* None.

### Fixes
* If you have a Realm file growing towards 2Gb and have a model class with more than 16 properties, then you may get a "Key not found" exception when updating an object. (Realm JS issue [#3194](https://github.com/realm/realm-js/issues/3194), since v7.0.0)
* In cases where you have more than 32 properties in a model class, you may get a currrupted file resulting in various crashes (Issue [#7057](https://github.com/realm/realm-java/issues/7057), since v7.0.0)

### Compatibility
* Realm Object Server: 3.23.1 or later.
* Realm Studio: 5.0.0 or later.
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 7.x.y series.

### Internal
* Upgraded to Realm Sync: 5.0.22.
* Upgraded to Realm Core: 6.0.25.


## 7.0.4 (2020-09-08)

Note: Fileformat has been bumped from 10 to 11. This means that downgrading to an earlier version of Realm is not possible and Realm Studio 5.0.0 must be used to view Realm files.

### Enhancements
* None.

### Fixes
* In some cases a frozen Realm of the wrong version could be returned. ([ObjectStore issue #1078](https://github.com/realm/realm-object-store/pull/1078))
* Upgrading files with string primary keys would result in a file where it was not possible to find the objects by primary key. ([Core issue #3893](https://github.com/realm/realm-core/pull/3893), since 7.0.0)
* NullPointerException when calling `toString` on RealmObjects with a binary field containing `null`. (Issue [#7084](https://github.com/realm/realm-java/issues/7084), since 7.0.0)

### Compatibility
* Realm Object Server: 3.23.1 or later.
* Realm Studio: 5.0.0 or later.
* File format: Generates Realms with format v11 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 7.x.y series.

### Internal
* Upgraded to Object Store commit: 286d7cb2f10c41f89a2efb43b22938610ccad4cf.
* Upgraded to Realm Sync: 5.0.21.
* Upgraded to Realm Core: 6.0.24.

## 7.0.3 (2020-09-01)

### Enhancements
* Added `Realm.getNumberOfActiveVersions()`, which returns the current number of active versions maintained by the Realm file.

### Fixes
* Creating a query inside a change listener could in some cases result in the version being pinned, which would either drastically increase filesize or cause `RealmConfiguration.maxNumberOfActiveVersions()` to trigger. (Issue [#6977](https://github.com/realm/realm-java/issues/6977), since 7.0.0)
* If you upgrade a Realm file where you have "" elements in a list of non-nullable strings, the upgrade would crash.
* If an attempt to upgrade a Realm file has ended with a crash with "migrate_links" in the call stack, the Realm ended in a corrupt state where further upgrade was not possible. A remedy for this situation is now provided.

### Compatibility
* Realm Object Server: 3.23.1 or later.
* Realm Studio: 4.0.0 or later.
* File format: Generates Realms with format v10 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 7.x.y series.

### Internal
* Upgraded to Object Store commit: eef80f42e6ede2294eb60f048228012d9b7bc627.
* Upgraded to Realm Sync: 5.0.19.
* Upgraded to Realm Core: 6.0.22.
* The upgrade logic for upgrading fileformats has changed so that progress is now recorded explicitly in a table. This makes the logic simpler and reduces the chance of errors. It will also make it easier to detect if a file has only been partially upgraded.


## 7.0.2 (2020-08-14)

### Enhancements
* None.

### Fixes
* [ObjectServer] Calling `SyncManager.refreshConnections()` did not correctly refresh connections in all cases, which could delay reconnects up to 5 minutes. (Issue [#7003](https://github.com/realm/realm-java/issues/7003))
* Upgrading the file format result did in some cases not work correctly. This could result in a number of crashes, e.g. `FORMAT_UPGRADE_REQUIRED`. (Issue [#6889](https://github.com/realm/realm-java/issues/6889), since 7.0.0)
* Bug in memory mapping management. This bug could result in multiple different asserts as well as segfaults. In many cases stack backtraces would include members of the EncyptedFileMapping near the top - even if encryption was not used at all. In other cases asserts or crashes would be in methods reading an array header or array element. In all cases the application would terminate immediately. (Issue [#3838](https://github.com/realm/realm-core/pull/3838), since 7.0.0)
* Crash when retrieving `null` valued primitive fields from dynamic realm. (Issue [#7025](https://github.com/realm/realm-java/issues/7025))

### Compatibility
* Realm Object Server: 3.23.1 or later.
* Realm Studio: 4.0.0 or later.
* File format: Generates Realms with format v10 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 7.x.y series.

### Internal
* Upgraded to Realm Sync 5.0.15.
* Upgraded to Realm Core 6.0.17.


## 7.0.1 (2020-07-01)

### Enhancements
* None.

### Fixes
* Upgrading older Realm files with String indexes was very slow. (Issue [#6875](https://github.com/realm/realm-java/issues/6875), since 7.0.0)
* Aborting upgrading a Realm file could result in the file getting corrupted. (Isse [#6866](https://github.com/realm/realm-java/issues/6866), since 7.0.0)
* Automatic indexes on primary keys are now correctly stripped when upgrading the file as they are no longer needed. (Since 7.0.0)
* `NoSuchTable` was thrown after comitting a transaction. (Issue [#6947](https://github.com/realm/realm-java/issues/6947))

### Compatibility
* Realm Object Server: 3.23.1 or later.
* Realm Studio: 4.0.0 or later.
* File format: Generates Realms with format v10 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 7.x.y series.

### Internal
* Upgraded to Realm Sync 5.0.7.
* Upgraded to Realm Core 6.0.8.


## 7.0.0 (2020-05-16)

NOTE: This version bumps the Realm file format to version 10. Files created with previous versions of Realm will be automatically upgraded. It is not possible to downgrade to version 9 or earlier. Only [Studio 3.11](https://github.com/realm/realm-studio/releases/tag/v3.11.0) or later will be able to open the new file format.
NOTE: This version bumps the Realm file format to version 10. Files created with previous versions of Realm will be automatically upgraded. It is not possible to downgrade to version 9 or earlier. Only [Realm Studio 4](https://github.com/realm/realm-studio/releases/tag/v4.0.0) or later will be able to open the new file format.

### Breaking Changes
* [ObjectServer] Removed deprecated method `SyncConfiguration.Builder.partialRealm()`. Use `SyncConfiguration.Builder.fullSynchronization()` instead.
* [ObjectServer] Removed deprecated methods `SyncConfiguration.automatic()` and `SyncConfiguration.automatic(User, Uri)`. Use `SyncUser.getDefaultConfiguration()` and `SyncUser.createConfiguration(Url)`.
* [ObjectServer] Removed deprecated method `ErrorCode.fromInt(int)`.
* [ObjectServer] Removed deprecated method `SyncCredentials.nickname(name)` and `SyncCredentials.nickname(name, isAdmin)`. Use `SyncCredentials.usernamePassword(username, password)` instead.
* [ObjectServer] Deprecated state `SyncSession.State.ERROR` has been removed. Use `SyncConfiguration.Builder.errorHandler(ErrorHandler)` instead.
* [ObjectServer] `IncompatibleSyncedFileException` is removed as it is no longer used.
* [ObjectServer] New error codes thrown by the underlying sync layers now have proper enum mappings in `ErrorCode.java`. A few other errors have been renamed in order to have consistent naming. (Issue [#6387](https://github.com/realm/realm-java/issues/6387))
* RxJava Flowables and Observables are now subscribed to and unsubscribed to asynchronously on the thread holding the live Realm, instead of previously where this was done synchronously.
* All RxJava Flowables and Observables now return frozen objects instead of live objects. This can be configured using `RealmConfiguration.Builder.rxFactory(new RealmObservableFactory(true|false))`. By using frozen objects, it is possible to send RealmObjects across threads, which means that all RxJava operators should now be supported without the need to copy Realm data into unmanaged objects.
* MIPS is not supported anymore.
* Realm now requires `minSdkVersion` 16. Up from 9.
* [ObjectServer] `IncompatibleSyncedFileException` is removed and no longer thrown.

### Enhancements
* Added `Realm.freeze()`, `RealmObject.freeze()`, `RealmResults.freeze()` and `RealmList.freeze()`. These methods will return a frozen version of the current Realm data. This data can be read from any thread without throwing an `IllegalStateException`, but will never change. All frozen Realms and data can be closed by calling `Realm.close()` on the frozen Realm, but fully closing all live Realms will also close the frozen ones. Frozen data can be queried as normal, but trying to mutate it in any way will throw an `IllegalStateException`. This includes all methods that attempt to refresh or add change listeners. (Issue [#6590](https://github.com/realm/realm-java/pull/6590))
* Added `Realm.isFrozen()`, `RealmObject.isFrozen()`, `RealmObject.isFrozen(RealmModel)`, `RealmResults.isFrozen()` and `RealmList.isFrozen()`, which returns whether or not the data is frozen.
* Added `RealmConfiguration.Builder.maxNumberOfActiveVersions(long number)`. Setting this will cause Realm to throw an `IllegalStateException` if too many versions of the Realm data are live at the same time. Having too many versions can dramatically increase the filesize of the Realm.
* Storing large binary blobs in Realm files no longer forces the file to be at least 8x the size of the largest blob.
* Reduce the size of transaction logs stored inside the Realm file, reducing file size growth from large transactions.
* `RealmResults.asJSON()` is no longer `@Beta`
* The default `toString()` for proxy objects now print the length of binary fields. (Issue [#6767](https://github.com/realm/realm-java/pull/6767))

### Fixes
* If a DynamicRealm and Realm was opened for the same file they would share transaction state by accident. The implication was that writes to a `Realm` would immediately show up in the `DynamicRealm`. This has been fixed, so now it is required to call `refresh()` on the other Realm or wait for normal change listeners to detect the change.

### Compatibility
* Realm Object Server: 3.23.1 or later.
* Realm Studio: 4.0.0 or later.
* File format: Generates Realms with format v10 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 7.x.y series.

### Internal
* `OsSharedRealm.VersionID.hashCode()` was not implemented correctly and included the memory location in the hashcode.
* OKHttp was upgraded to 3.10.0 from 3.9.0.
* The NDK has been upgraded from r10e to r21.
* The compiler used for C++ code has changed from GCC to Clang.
* OpenSSL used by Realms encryption layer has been upgraded from 1.0.2k to 1.1.1b.
* Updated to Object Store commit: 820b74e2378f111991877d43068a95d2b7a2e404.
* Updated to Realm Sync 5.0.3.
* Updated to Realm Core 6.0.4.

### Credits
* Thanks to @joxon for better support for binary fields in proxy objects.


## 6.1.0(2020-01-17)

### Fixed
* None.

### Compatibility
* Realm Object Server: 3.23.1 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 6.x.y series.

### Internal
* None.



## 6.1.0(2020-01-17)

### Enhancements
* The Realm Gradle plugin now applies `kapt` when used in Kotlin Multiplatform projects. Note, Realm Java still only works for the Android part of a Kotlin Multiplatform project. (Issue [#6653](https://github.com/realm/realm-java/issues/6653))
* The error message shown when no native code could be found for the device is now much more descriptive. This is particular helpful if an app is using App Bundle or APK Split and the resulting APK was side-loaded outside the Google Play Store. (Issue [#6673](https://github.com/realm/realm-java/issues/6673))
* `RealmResults.asJson()` now encode binary data as Base64 and null object links are reported as `null` instead of `[]`.

### Fixed
* Fixed using `RealmList` with a primitive type sometimes crashing with `Destruction of mutex in use`. (Issue [#6689](https://github.com/realm/realm-java/issues/6689))
* `RealmObjectSchema.transform()` would crash if one of the `DynamicRealmObject` provided are deleted from the Realm. (Issue [#6657](https://github.com/realm/realm-java/issues/6657), since 0.86.0)
* The Realm Transformer will no longer attempt to send anonymous metrics when Gradle is invoked with `--offline`. (Issue [#6691](https://github.com/realm/realm-java/issues/6691))

### Compatibility
* Realm Object Server: 3.23.1 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 6.x.y series.

### Internal
* Updated to ReLinker 1.4.0.
* Updated to Object Store commit: 2a204063e1e1a366efbdd909fbea9effceb7d3c4.
* Updated to Realm Sync 4.9.4.
* Updated to Realm Core 5.23.8.

### Credits
* Thanks to @sellmair (Sebastian Sellmair) for improving Kotlin Multiplatform support.


## 6.0.2(2019-11-21)

### Enhancements
* None.

### Fixed
* [ObjectServer] `SyncSession` progress listeners now work correctly in combination with `SyncConfiguration.waitForInitialRemoteData()`.
* The `@RealmModule` annotation would be stripped on an empty class when using R8 resulting in apps crashing on startup with `io.realm.DefaultRealmModule is not a RealmModule. Add @RealmModule to the class definition.`. ([#6449](https://github.com/realm/realm-java/issues/6449))

### Compatibility
* Realm Object Server: 3.23.1 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 6.x.y series.

### Internal
* Updated to Object Store commit: ad96a4c334b475dd67d50c1ca419e257d7a21e18.
* Updated to Realm Sync v4.8.3.

## 6.0.1(2019-11-11)

NOTE: Anyone using encrypted Realms are strongly advised to upgrade to this version.

### Enhancements
* None

### Fixed
* When using encrypted Realms a race condition could lead to the Realm ending up corrupted when the file increased in size. This could manifest as a wide array of different error messages. Most commonly seen has been "Fatal signal 11 (SIGSEGV) from Java_io_realm_internal_UncheckedRow_nativeGetString", "RealmFileException: Top ref outside file" and "Unable to open a realm at path. ACCESS_ERROR: Invalid mnemonic". ([#6152](https://github.com/realm/realm-java/issues/6152), since 5.0.0)
* `RealmResults.asJSON()` now prints lists with primitive values directly instead of wrapping each value in an object with an `!ARRAY_VALUE` property.

### Compatibility
* Realm Object Server: 3.23.1 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 6.x.y series.

### Internal
* Updated to Realm Sync 4.7.12.
* Updated to Realm Core 5.23.6.

### Credits
* Thanks to Vladimir Konkov (@vladimirfx) for help with isolating ([#6152](https://github.com/realm/realm-java/issues/6152)).


## 6.0.0(2019-10-01)

### Breaking Changes
* [ObjectServer] The `PermissionManager` is no longer backed by Realms but instead a REST API. This means that the `PermissionManager` class has been removed and all methods have been moved to `SyncUser`. Some method names have been renamed slightly and return values for methods have changed from `RealmResults<Permission>` to `List<Permission>`. This should only have an impact if change listeners were used to listen for changes. In these cases, you must now manually retry the request.

### Enhancements
None.

### Fixed
None.

### Compatibility
* Realm Object Server: 3.23.1 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 6.x.y series.

### Internal
* [ObjectServer] The OKHttp client will now follow redirects from the Realm Object Server.


## 5.15.2(2019-09-30)

### Enhancements
* None.

### Fixed
* `null` values were not printed correctly when using `RealmResults.asJSON()` (Realm Core Issue [#3399](https://github.com/realm/realm-core/pull/3399))
* [ObjectServer] Queries with nullable `Date`'s did not serialize correctly. Only relevant if using Query-based Synchronization. (Realm Core issue [#3388](https://github.com/realm/realm-core/pull/3388))
* [ObjectServer] Fixed crash with `java.lang.IllegalStateException: The following changes cannot be made in additive-only schema mode` when opening an old Realm created between Realm Java 5.10.0 and Realm Java 5.13.0. (Issue [#6619](https://github.com/realm/realm-java/issues/6619), since 5.13.0).

### Compatibility
* Realm Object Server: 3.21.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Updated to Object Store commit: 8416010e4be5e32ba552ff3fb29e500f3102d3db.
* Updated to Realm Sync 4.7.8.
* Updated to Realm Core 5.23.5.
* Updated Docker image used on CI to Node 10.


## 5.15.1(2019-09-09)

### Enhancements
* None.

### Fixed
* Projects with `flatDirs` repositories defined crashed the build with `MissingPropertyException`. (Issue [#6610](https://github.com/realm/realm-java/issues/6610), since 5.15.0).

### Compatibility
* Realm Object Server: 3.21.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* None.

## 5.15.0(2019-09-05)

### Enhancements
* [ObjectServer] Added support for Client Resync for fully synchronized Realms which automatically will recover the local Realm in case the server is rolled back. This largely replaces the Client Reset mechanism. Can be configured using `SyncConfiguration.Builder.clientResyncMode()`. (Issue [#6487](https://github.com/realm/realm-java/issues/6487))

### Fixed
* Huawei devices reporting `Permission denied` when opening a Realm file after an app upgrade or factory reset. This does not automatically fix already existing Realm files. See [this FAQ entry](https://realm.io/docs/java/latest/#huawei-permission-denied) for more details. (Issue [#5715](https://github.com/realm/realm-java/issues/5715))
* `Realm.copyToRealm()` and `Realm.insertOrUpdate()` crashed on model classes if `@LinkingObjects` was used to target a field with a re-defined internal name in the parent class (e.g. by using `@RealmField`). (Issue [#6581](https://github.com/realm/realm-java/issues/6581))

### Compatibility
* Realm Object Server: 3.21.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Implemented direct access to sync workers on Cloud, bypassing the Sync Proxy: the binding will override the sync session's url prefix if the token refresh response for a realm contains a sync worker path field.
* Updated to Object Store commit: 9f19d79fde248ba37cef0bd52fe64984f9d71be0.
* Updated to Realm Sync 4.7.4.
* Updated to Realm Core 5.23.2.


## 5.14.0(2019-08-12)

### Deprecated
* [ObjectServer] `SyncCredentials.nickname()` has been deprecated in favour of `SyncCredentials.usernamePassword()`.
* [ObjectServer] `SyncCredentials.IdentityProvider.NICKNAME` has been deprecated in favour of `SyncCredentials.IdentityProvider.USERNAME_PASSWORD`.

### Enhancements
* None.

### Fixed
* None.

### Compatibility
* Realm Object Server: 3.21.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* None.


## 5.13.1(2019-08-05)

### Enhancements
* None.

### Fixed
* [ObjectServer] The C++ networking layer now correctly uses any system defined proxy the same way the Java networking layer does. (Issue [#6574](https://github.com/realm/realm-java/pull/6574)).
* The Realm bytecode transformer now works correctly with Android Gradle Plugin 3.6.0-alpha01 and beyond. (Issue [#6531](https://github.com/realm/realm-java/issues/6531)).
* Queries on RealmLists with objects containing indexed integers could return the wrong result. (Issue [#6522](https://github.com/realm/realm-java/issues/6522), since 5.11.0)

### Compatibility
* Realm Object Server: 3.21.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Updated JavaAssist in the Realm Transformer to 3.25.0-GA.
* Updated to Realm Core 5.23.1.
* Updated to Realm Sync 4.7.1.
* Updated to Object Store commit: bcc6a7524e52071bfcd35cf740f506e0cc6a595e


## 5.13.0(2019-07-23)

### Enhancements
* [ObjectServer] Added support for faster initial synchronization for fully synchronized Realms. (Issue [#6469](https://github.com/realm/realm-java/issues/6469))
* [ObjectServer] Improved session lifecycle debug output. (Issue [#6552](https://github.com/realm/realm-java/pull/6552)).

### Fixed
* None.

### Compatibility
* Realm Object Server: 3.21.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Updated to Realm Core 5.22.0.
* Updated to Realm Sync 4.6.1.
* Updated to Object Store commit f0d75261fc8d332c20dc82f643dd795c0f4c7aec


## 5.12.0(2019-06-20)

### Enhancements
* [ObjectServer] Added `SyncManager.refreshConnections()` that can be used to manually trigger a reconnect for all sessions. This is useful if the device has been offline for a long time or fail to detect that it regained connectivity. (Issue [#259](https://github.com/realm/realm-java-private/issues/259))
* Added `RealmResults.asJson()` in `@Beta` that returns the result of the query as a JSON payload (#6540).

### Fixed
* [ObjectServer] `PermissionManager` stopped working if an intermittent network error was reported. (Issue [#6492](https://github.com/realm/realm-java/issues/6492), since 3.7.0)
* The Kotlin extensions library no longer defines a `app_name`, which in some cases conflicted with the `app_name` defined by applications. (Issue [#6536](https://github.com/realm/realm-java/issues/6536), since 4.3.0)

### Compatibility
* Realm Object Server: 3.21.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Updated to Realm Core 5.22.0.
* Updated to Realm Sync 4.6.1.
* Updated to Object Store commit 7c3ff8235579550a3e3c6060c47140b2005174f5

## 5.11.0(2019-05-01)

NOTE: This version is only compatible with Realm Object Server 3.21.0 or later.

### Enhancements
* [ObjectServer] Added `RealmQuery.includeLinkingObjects()`. This is only relevant for Query-based Realms and tells subscriptions to include objects linked through `@LinkingObjects` fields as part of the subscription as well. Objects referenced through objects and lists are always included as a default. (Issue [#6426](https://github.com/realm/realm-java/issues/6426))
* Encryption now uses hardware optimized functions, which significantly improves the performance of encrypted Realms. ([Realm Core PR #3241](https://github.com/realm/realm-core/pull/3241))
* Improved query performance when using `RealmQuery.in()` queries. ([Realm Core PR #3250](https://github.com/realm/realm-core/pull/3250)).
* Improved query performance when querying Integer fields with indexes, e.g. primary key fields. ([Realm Core PR #3272](https://github.com/realm/realm-core/pull/3272)).
* Improved write performance when writing changes to disk ([Realm Core PR #2927](https://github.com/realm/realm-sync/issues/2927))
* Added support for incremental annotation processing added in Gradle 4.7. (Issue [#5906](https://github.com/realm/realm-java/issues/5906)).

### Fixed
* [ObjectServer] Fix an error in the calculation of the `downloadableBytes` value sent by `ProgressListeners`.
* [ObjectServer] HTTP requests made by the Sync client now always include a Host: header, as required by HTTP/1.1, although its value will be empty if no value is specified by the application.
* [ObjectServer] The server no longer rejects subscriptions based on queries with distinct and/or limit clauses.
* [ObjectServer] If a user had `canCreate` but not `canUpdate` privileges on a class, the user would be able to create the object, but not actually set any meaningful values on that object, despite the rule that objects created within the same transaction can always be modified.
*  Native crash happening if bulk updating a field in a `RealmResult` would cause the object to no longer be part of the query result. (Issue [#6478](https://github.com/realm/realm-java/issues/6478), since 5.8.0).

### Compatibility
* Realm Object Server: 3.21.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Updated to Realm Core 5.19.1.
* Updated to Relm Sync 4.4.2.
* Updated to Object Store commit e4b1314d21b521fd604af7f1aacf3ca94272c19a


## 5.10.0(2019-03-22)

### Enhancements
* [ObjectServer] Added 4 new fields to query-based Subscriptions: `createdAt`, `updatedAt`, `expiresAt` and `timeToLive`. These make it possible to better reason about and control current subscriptions. (Issue [#6453](https://github.com/realm/realm-java/issues/6453))
* [ObjectServer] Added the option of updating the query controlled by a Subscription using either `RealmQuery.findAllAsync(String name, boolean update)`,  `RealmQuery.subscribe(String name, boolean update)` or `Subscription.setQuery(RealmQuery query)`. (Issue [#6453](https://github.com/realm/realm-java/issues/6453))
* [ObjectServer] Added the option of setting a time-to-live for subscriptions. Setting this will automatically delete the subscription after the provided TTL has expired and the subscription hasn't been used. (Issue [#6453](https://github.com/realm/realm-java/issues/6453))

### Fixed
* Dates returned from the Realm file no longer overflow or underflow if they exceed `Long.MAX_VALUE` or `Long.MIN_VALUE` but instead clamp to their respective value. (Issue [#2722](https://github.com/realm/realm-java/issues/2722))

### Compatibility
* Realm Object Server: 3.11.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats).
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Updated to Object Store commit: e9819ed9c77ed87b5d7bed416a76cd5bcf255802


## 5.9.1(2019-02-21)

### Enhancements
* None

### Fixed
* [ObjectServer] Reporting too many errors from the native layer resulted in a native crash with `local reference table overflow`. (Issue [#249](https://github.com/realm/realm-java-private/issues/249), since 5.9.0)

### Compatibility
* Realm Object Server: 3.11.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* None

## 5.9.0(2019-01-15)

### Enhancements
* [ObjectServer] Added `ObjectServerError.getErrorType()` and `ObjectServerError.getErrorType()` which returns the underlying native error information. This is especially relevant if `ObjectServerError.getErrorCode()` returns `UNKNOWN`. [#6364](https://github.com/realm/realm-java/issues/6364)
* Added better checks for detecting corrupted files, both before and after the file is written to disk.

### Fixed
* [ObjectServer] Native errors sometimes mapped to the wrong Java ErrorCode. (Issue [#6364](https://github.com/realm/realm-java/issues/6364), since 2.0.0)
* [ObjectServer] Query-based Sync queries involving LIMIT, limited the result before permissions were evaluated. This could sometimes result in the wrong number of elements being returned.
* Removed Java 8 bytecode. Resulted in errors like `D8: Invoke-customs are only supported starting with Android O (--min-api 26)` if not compiled with Java 8. (Issue [#6300](https://github.com/realm/realm-java/issues/6300), since 5.8.0).

### Compatibility
* Realm Object Server: 3.11.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Updated to Object Store commit: f964c2640f635e76839559cb703732e9e906ba4c
* Updated Realm Sync to 3.14.13
* Updated Realm Core to 5.12.7


## 5.8.0 (2018-11-06)

This release also contains all changes from 5.8.0-BETA1 and 5.8.0-BETA2.

### Enhancements
* [ObjectServer] Added Subscription class available to Query-based Realms. This exposes a Subscription more directly. This class is in beta. [#6231](https://github.com/realm/realm-java/pull/6231).
  * [ObjectServer] Added `Realm.getSubscriptions()`, `Realm.getSubscriptions(String pattern)` and `Realm.getSubscription` to make it easier to find existing subscriptions. These API's are in beta. [#6231](https://github.com/realm/realm-java/pull/6231)
  * [ObjectServer] Added `RealmQuery.subscribe()` and `RealmQuery.subscribe(String name)` to subscribe immediately inside a transaction. These API's are in beta. [#6231](https://github.com/realm/realm-java/pull/6231)
  * [ObjectServer] Added support for subscribing directly inside `SyncConfiguration.initialData()`. This can be coupled with `SyncConfiguration.waitForInitialRemoteData()` in order to block a Realm from opening until the initial subscriptions are ready and have downloaded data. This API are in beta. [#6231](https://github.com/realm/realm-java/pull/6231)
* [ObjectServer] Improved performance when merging changes from the server.
* [ObjectServer] Added support for timeouts when uploading or downloading data manually using `SyncSession.downloadAllServerChanges(long timeout, TimeUnit unit)` and `SyncSession.uploadAllLocalChanges(long timeout, TimeUnit unit)`. [#6073](https://github.com/realm/realm-java/pull/6073)
* [ObjectServer] Added support for timing out when downloading initial data for synchronized Realms using `SyncConfiguration.waitForInitialRemoteData(long timeout, TimeUnit unit)`. [#6247](https://github.com/realm/realm-java/issues/6247)
* [ObjectServer] Added `Realm.init(Context, String)` which defines a custom User-Agent String sent to the Realm Object Server when a session is created. Using this requires Realm Object Server 3.12.4 or later. [#6267](https://github.com/realm/realm-java/issues/6267)
* Added support for `ImportFlag`s to `Realm.copyToRealm()` and `Realm.copyToRealmOrUpdate()`. This makes it possible to choose a mode so only fields that actually changed are written to disk. This improves notifications and Object Server performance. [#6224](https://github.com/realm/realm-java/pull/6224)
* Added support for bulk updating the same property in all objects that are part of a query result using `RealmResults.setValue(String fieldName, Object value)` or one of the specialized overrides that have been added for all supported types, e.g. `RealmResults.setString(String fieldName, String value)`. [#762](https://github.com/realm/realm-java/issues/762)

### Fixed
* All known bugs introduced in 5.8.0-BETA1 and 5.8.0-BETA2. See the release notes for these releases.

### Compatibility
* Realm Object Server: 3.11.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Updated to Object Store commit: f0dfe6c03be49194bc40777901059eaf55e7bff6
* Updated Realm Sync to 3.13.1
* Updated Realm Core to 5.12.0


## 5.8.0-BETA2 (2018-10-19)

### Enhancements
* None

### Fixed
* `RealmResults` listeners not triggering the initial callback for Query-based Realm when the device is offline [#6235](https://github.com/realm/realm-java/issues/6235).

### Known Bugs
* `Realm.copyToRealm()` and `Realm.copyToRealmOrUpdate` has been rewritten to support import flags. It is currently ~30% slower than in 5.7.0.
* IllegalStateException thrown when trying to create an object with a primary key that already exists when using `Realm.copyToRealm`, will always report "null" instead of the correct primary key value.
* When using `ImportFlag.DO_NOT_SET_SAME_VALUES`, lists will still be written and reported as changed, even if they didn't change.

### Compatibility
* Realm Object Server: 3.11.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* None


## 5.8.0-BETA1 (2018-10-11)

### Enhancements
* Added new `ImportFlag` class that is used to specify additional behaviour when importing
  data into Realm [#6224](https://github.com/realm/realm-java/pull/6224).
* Added support for `ImportFlag` to `Realm.copyToRealm()` and `Realm.copyToRealmOrUpdate()` [#6224](https://github.com/realm/realm-java/pull/6224).

### Fixed
* None

### Known Bugs
* `Realm.copyToRealm()` and `Realm.copyToRealmOrUpdate` has been rewritten to support import flags. It is currently ~30% slower than in 5.7.0.
* IllegalStateException thrown when trying to create an object with a primary key that already exists when using `Realm.copyToRealm`, will always report "null" instead of the correct primary key value.
* When using `ImportFlag.DO_NOT_SET_SAME_VALUES`, lists will still be written and reported as changed, even if they didn't change.

### Compatibility
* Realm Object Server: 3.11.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.


## 5.7.1 (2018-10-22)

### Enhancements
* None

### Fixed
* [ObjectServer] `RealmResults` listeners not triggering the initial callback for Query-based Realm when the device is offline. (Issue [#6235](https://github.com/realm/realm-java/issues/6235), since 5.0.0).

### Compatibility
* Realm Object Server: 3.11.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Updated to Object Store commit: 362b886628b3aefc5b7a0bc32293d794dc1d4ad5


## 5.7.0 (2018-09-24)

### Enhancements
* [ObjectServer] Devices will now report download progress for read-only Realms which
  will allow the server to compact files sooner, saving server space. This does not affect
  the client. You will need to upgrade your Realm Object Server to at least version 3.11.0
  or use [Realm Cloud](https://cloud.realm.io). If you try to connect to a ROS v3.10.x or
  previous, you will see an error like `Wrong protocol version in Sync HTTP request,
  client protocol version = 25, server protocol version = 24`.

### Fixed
* None

### Compatibility
* Realm Object Server: 3.11.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Sync Protocol version increased to 25.
* Updated Realm Sync to 3.10.1
* Updated Realm Core to 5.10.2


## 5.6.0 (2018-09-24)

### Enhancements
* [ObjectServer] Added `RealmPermissions.findOrCreate(String roleName)` and
  `ClassPermissions.findOrCreate(String roleName)` ([#6168](https://github.com/realm/realm-java/issues/6168)).
* `@RealmClass("name")` and `@RealmField("name")` can now be used as a shorthand for defining custom
  name mappings ([#6145](https://github.com/realm/realm-java/issues/6145)).
* Added support for `RealmQuery.limit(long limit)` ([#544](https://github.com/realm/realm-java/issues/544)).
  When building a `RealmQuery`, `sort()`, `distinct()` and `limit()` will now be applied in the order
  they are called. Before this release, `sort()`  and `distinct()` could be called any order, but
  `sort()` would always be applied before `distinct()`.
* Building with Android App Bundle is now supported ([#5977](https://github.com/realm/realm-java/issues/5977)).

### Fixed
* None

### Compatibility
* Realm Object Server: 3.11.0 or later.
* File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
* APIs are backwards compatible with all previous release of realm-java in the 5.x.y series.

### Internal
* Updated ReLinker to 1.3.0.
* Updated to Object Store commit: 7e19c51af72c3343b453b8a13c82dfda148e4bbc


## 5.5.0 (2018-08-31)

### Enhancements
* [ObjectServer] Added `ConnectionState` enum describing the states a connection can be in.
* [ObjectServer] Added `SyncSession.isConnected()` and `SyncSession.getConnectionState()`.
* [ObjectServer] Added support for observing connection changes for a session using `SyncSession.addConnectionChangeListener()` and `SyncSession.removeConnectionChangeListener()`.
* [ObjectServer] Added Kotlin extension property `Realm.syncSession` for synchronized Realms.
* [ObjectServer] Added Kotlin extension method `Realm.classPermissions<RealmModel>()`.
* [ObjectServer] Added support for starting and stopping synchronization using `SyncSession.start()` and `SyncSession.stop()` (#6135).
* [ObjectServer] Added API's for making it easier to work with network proxies (#6163):
  * `SyncManager.setAuthorizationHeaderName(String headerName)`
  * `SyncManager.setAuthorizationHeaderName(String headerName, String host)`
  * `SyncManager.addCustomRequestHeader(String headerName, String headerValue)`
  * `SyncManager.addCustomRequestHeader(String headerName, String headerValue, String host)`
  * `SyncManager.addCustomRequestHeaders(Map<String, String> headers)`
  * `SyncManager.addCustomRequestHeaders(Map<String, String> headers, String host)`
  * `SyncConfiguration.Builder.urlPrefix(String prefix)`

### Fixed
* Methods and classes requiring synchronized Realms have been removed from the standard AAR package. They are now only visible when enabling synchronized Realms in Gradle. The methods and classes will still be visible in the source files and docs, but annotated with `@ObjectServer` (#5799).

### Internal
* Updated to Realm Sync 3.9.4
* Updated to Realm Core 5.8.0
* Updated to Object Store commit: b0fc2814d9e6061ce5ba1da887aab6cfba4755ca

### Credits
* Thanks to @lucasdornelasv for improving the performance of `Realm.copyToRealm()`, `Realm.copyToRealmOrUpdate()` and `Realm.copyFromRealm()` #(6124).


## 5.4.3 (YYYY-MM-DD)

### Bug Fixes

* [ObjectServer] ProGuard was not configured correctly when working with Subscriptions for Query-based Realms.


## 5.4.2 (2018-08-09)

### Bug Fixes

* [ObjectServer] Fixed bugs in the Sync Client that could lead to memory corruption and crashes.

### Internal

* Upgraded to Realm Sync 3.8.8


## 5.4.1 (2018-08-03)

### Bug Fixes

* Compile time crash if no `targetSdk` was defined in Gradle. This was introduced in 5.4.0 (#6082).
* Fix Realm Gradle Plugin adding dependencies in a way incompatible with Kotlin Android Extensions. This was introduced in Realm Java 5.4.0 (#6080).


## 5.4.0 (2018-07-22)

### Enhancements

* Removing a ChangeListener on invalid objects or `RealmResults` should warn instead of throwing (fixes #5855).

### Bug Fixes

* [ObjectServer] Using Android Network Security Configuration is necessary to install the custom root CA for tests (API >= 24) (#5970).
* Fixes issue with the incremental build causing direct access to model without accessor to fail (#6056).
* `RealmQuery.distinct()` is now correctly applied when calling `RealmQuery.count()` (#5958).

### Internal

* Upgraded to Realm Core 5.7.2
* Upgraded to Realm Sync 3.8.1
* [ObjectServer] Improved performance when integrating changes from the server.
* Added extra information about the state of the Realm file if an exception is thrown due to Realm not being able to open it.
* Removed internal dependency on Groovy in the Realm Transformer (#3971).

### Credits

* Thanks to @kageiit for removing Groovy from the Realm Transformer (#3971).


## 5.3.1 (2018-06-19)

### Bug Fixes

* [ObjectServer] Fixed a bug which could potentially flood Realm Object Server with PING messages.
* Calling `Realm.deleteAll()` on a Realm file that contains more classes than in the schema throws exception (#5745).
* `Realm.isEmpty()` returning false in some cases, even if all tables part of the schema are empty (#5745).
* Fixed rare native crash materializing as `Assertion failed: ref + size <= after_ref with (ref, size, after_ref, ndx, m_free_positions.size())` (#5300).

### Internal

* Upgraded to Realm Core 5.6.2
* Upgraded to Realm Sync 3.5.6
* Upgraded to Object Store commit `0bcb9643b8fb14323df697999b79c4a5341a8a21`


## 5.3.0 (2018-06-12)

### Enhancements

* [ObjectServer] `Realm.compactRealm(config)` now works on synchronized Realms (#5937).
* [ObjectServer] `SyncConfiguration.compactOnLaunch()` and `SyncConfiguration.compactOnLaunch(callback)` has been added (#5937).
* Added `RealmQuery.getRealm()`, `RealmResults.getRealm()`, `RealmList.getRealm()` and `OrderedRealmCollectionSnapshot.getRealm()` (#5997).
* Removing a ChangeListener on invalid objects or `RealmResults` should warn instead of throwing (fixes #5855).


### Internal

* Upgraded to Realm Core 5.6.0
* Upgraded to Realm Sync 3.5.2


## 5.2.0 (2018-06-06)

The feature previously named Partial Sync is now called Query-Based Sync and is now the default mode when synchronizing Realms.
This has impacted a number of API's. See below for the details.

### Deprecated

* [ObjectServer] `SyncConfiguration.automatic()` has been deprecated in favour of `SyncUser.getDefaultConfiguration()`.
* [ObjectServer] `new SyncConfiguration.Builder(user, url)` has been deprecated in favour of `SyncUser.createConfiguration(url)`. NOTE: Creating configurations using `SyncUser` will default to using query-based Realms, while creating them using `new SyncConfiguration.Builder(user, url)` will default to fully synchronized Realms.
* [ObjectServer] With query-based sync being the default `SyncConfiguration.Builder.partialRealm()` has been deprecated. Use `SyncConfiguration.Builder.fullSynchronization()` if you want full synchronisation instead.

### Enhancements

* [ObjectServer] Added `SyncUser.createConfiguration(url)`. Realms created this way are query-based Realms by default.
* [ObjectServer] Added `SyncUser.getDefaultConfiguration()`.
* The Realm bytecode transformer now supports incremental builds (#3034).
* Improved speed and allocations when parsing field descriptions in queries (#5547).

### Bug Fixes

* Having files that ends with `RealmProxy` will no longer break the Realm Transformer (#3709).

### Internal

* Module mediator classes being generated now produces a stable output enabling better support for incremental builds (#3034).


## 5.1.0 (2018-04-25)

### Enhancements

* [ObjectServer] Added support for `SyncUser.requestPasswordReset()`, `SyncUser.completePasswordReset()`
  and their async variants. This makes it possible to reset the password for users created using
  `Credentials.usernamePassword()` where they used their email as username (#5821).
* [ObjectServer] Added support for `SyncUser.requestEmailConfirmation()`, `SyncUser.confirmEmail()`
  and their async variants. This makes it possible to ask users to confirm their email. This is only
  supported for users created using `Credentials.usernamePassword()` who have used an email as their
  username (#5821).
* `RealmQuery.in()` now support `null` which will always return no matches (#4011).
* Added support for `RealmQuery.alwaysTrue()` and `RealmQuery.alwaysFalse()`.

### Bug Fixes

* Changing a primary key from being nullable to being required could result in objects being deleted (##5899).


## 5.0.1 (2018-04-09)

### Enhancements

* [ObjectServer] `SyncConfiguration.automatic()` will make use of the host port to work out the default Realm URL.
* [ObjectServer] A role is now automatically created for each user with that user as its only member. This simplifies the common use case of restricting access to specific objects to a single user. This role can be accessed at `PermissionUser.getRole()`.
* [ObjectServer] Expose `Role.getMembers()` to access the list of associated `UserPermission`.

### Bug Fixes

* `RealmList.move()` did not move items correctly for unmanaged lists (#5860).
* `RealmObject.isValid()` not correctly returns `false` if `null` is provided as an argument (#5865).
* `RealmQuery.findFirst()` and `RealmQuery.findFirstAsync()` not working correctly with sorting (#5714).
* Permission `noPrivileges` and `allPrivileges` were returning opposite privileges.
* Fixes an issue caused by JNI local table reference overflow (#5880).

### Internal

* Upgraded to Realm Sync 3.0.1
* Upgraded to Realm Core 5.4.2

## 5.0.0 (2018-03-15)

This release is compatible with the Realm Object Server 3.0.0-beta.3 or later.

### Known Bugs

* API's marked @ObjectServer are shipped as part of the base binary, they should only be available when enabling synchronized Realms.

### Breaking Changes

* [ObjectServer] Renamed `SyncUser.currentUser()` to `SyncUser.current()`.
* [ObjectServer] Renamed `SyncUser.login(...)` and `SyncUser.loginAsync(...)` to `SyncUser.logIn(...)` and `SyncUser.logInAsync(...)`.
* [ObjectServer] Renamed `SyncUser.logout()` to `SyncUser.logOut()`.
* The `OrderedCollectionChangeSet` parameter in `OrderedRealmCollectionChangeListener.onChange()` is no longer nullable. Use `changeSet.getState()` instead (#5619).
* `realm.subscribeForObjects()` have been removed. Use `RealmQuery.findAllAsync(String subscriptionName)` and `RealmQuery.findAllAsync()` instead.
* Removed previously deprecated `RealmQuery.findAllSorted()`, `RealmQuery.findAllSortedAsync()` `RealmQuery.distinct()` and `RealmQuery.distinctAsync()`.
* Renamed `RealmQuery.distinctValues()` to `RealmQuery.distinct()`

### Enhancements

* [ObjectServer] Added support for partial Realms. Read [here](https://realm.io/docs/java/latest/#partial-realms) for more information.
* [ObjectServer] Added support for Object Level Permissions (requires partial synchronized Realms). Read [here](https://realm.io/docs/java/latest/#partial-realms) for more information.
* [ObjectServer] Added `SyncConfiguration.automatic()` and `SyncConfiguration.automatic(SyncUser user)` (#5806).
* Added two new methods to `OrderedCollectionChangeSet`: `getState()` and `getError()` (#5619).

## Bug Fixes

* Better exception message if a non model class is provided to methods only accepting those (#5779).

### Internal

* Upgraded to Realm Sync 3.0.0
* Upgraded to Realm Core 5.3.0


## 4.4.0 (2018-03-13)

### Enhancements

* Added support for mapping between a Java name and the underlying name in the Realm file using `@RealmModule`, `@RealmClass` and `@RealmField` annotations (#5280).

## Bug Fixes

* [ObjectServer] Fixed an issue where login after a logout will not resume Syncing (https://github.com/realm/my-first-realm-app/issues/22).


## 4.3.4 (2018-02-06)

## Bug Fixes

* Added missing `RealmQuery.oneOf()` for Kotlin that accepts non-nullable types (#5717).
* [ObjectServer] Fixed an issue preventing sync to resume when the network is back (#5677).

## 4.3.3 (2018-01-19)

### Internal

* Downgrade JavaAssist to 3.21.0-GA to fix an issue with a `ClassNotFoundException` at runtime (#5641).


## 4.3.2 (2018-01-17)

### Bug Fixes

* Throws a better exception message when calling `RealmObjectSchema.addField()` with a `RealmModel` class (#3388).
* Use https for Realm version checker (#4043).
* Prevent Realms Gradle plugin from transitively forcing specific versions of Google Build Tools onto downstream projects (#5640).
* [ObjectServer] logging a warning message instead of throwing an exception, when sync report an unknown error code (#5403).

### Enhancements

* [ObjectServer] added support for both Anonymous and Nickname authentication.


### Internal

* Upgraded to Realm Sync 2.2.9
* Upgraded to Realm Core 5.1.2

## 4.3.1 (2017-12-06)

### Bug Fixes

* Fixed kotlin standard library being added to both Java and Kotlin projects (#5587).


## 4.3.0 (2017-12-05)

### Deprecated

* Support for mips devices are deprecated.
* `RealmQuery.findAllSorted()` and `RealmQuery.findAllSortedAsync()` variants in favor of predicate `RealmQuery.sort().findAll()`.
* `RealmQuery.distinct()` and `RealmQuery.distinctAsync()` variants in favor of predicate `RealmQuery.distinctValues().findAll()`

### Enhancements

* [ObjectServer] Added explicit support for JSON Web Tokens (JWT) using `SyncCredentials.jwt(String token)`. It requires Object Server 2.0.23+ (#5580).
* Projects using Kotlin now include additional extension functions that make working with Kotlin easier. See [docs](https://realm.io/docs/java/latest/#kotlin) for more info (#4684).
* New query predicate: `sort()`.
* New query predicate: `distinctValues()`. Will be renamed to `distinct` in next major version.
* The Realm annotation processor now has a stable output when there are no changes to model classes, improving support for incremental compilers (#5567).

### Bug Fixes

* Added missing `toString()` for the implementation of `OrderedCollectionChangeSet`.
* Sync queries are evaluated immediately to solve the performance issue when the query results are huge, `RealmResults.size()` takes too long time (#5387).
* Correctly close the Realm instance if an exception was thrown while opening it. This avoids `IllegalStateException` when deleting the Realm in the catch block (#5570).
* Fixed the listener on `RealmList` not being called when removing the listener then adding it again (#5507). Please notice that a similar issue still exists for `RealmResults`.

### Internal

* Use `OsList` instead of `OsResults` to add notification token on for `RealmList<RealmModel>`.
* Updated Gradle and plugins to support Android Studio `3.0.0` (#5472).
* Upgraded to Realm Sync 2.1.8.
* Upgraded to Realm Core 4.0.4.

### Credits

* Thanks to @tbsandee for fixing a typo (#5548).
* Thanks to @vivekkiran for updating Gradle and plugins to support Android Studio `3.0.0` (#5472).
* Thanks to @madisp for adding better support for incremental compilers (#5567).


## 4.2.0 (2017-11-17)

### Enhancements

* Added support for using non-encrypted Realms in multiple processes. Some caveats apply. Read [doc](https://realm.io/docs/java/latest/#multiprocess) for more info (#1091).
* Added support for importing primitive lists from JSON (#5362).
* [ObjectServer] Support SSL validation using Android TrustManager (no need to specify `trustedRootCA` in `SynConfiguration` if the certificate is installed on the device), fixes (#4759).
* Added the and() function to `RealmQuery` in order to improve readability.

### Bug Fixes

* Leaked file handler in the Realm Transformer (#5521).
* Potential fix for "RealmError: Incompatible lock file" crash (#2459).

### Internal

* Updated JavaAssist to 3.22.0-GA.
* Upgraded to Realm Sync 2.1.4.
* Upgraded to Realm Core 4.0.3.

### Credits

* Thanks to @rakshithravi1997 for adding `RealmQuery.and()` (#5520).


## 4.1.1 (2017-10-27)

### Bug Fixes

* Fixed the compile warnings of using deprecated method `RealmProxyMediator.getTableName()` in generated mediator classes (#5455).
* [ObjectServer] now retrying network query when encountering any `IOException` (#5453).
* Fixed a `NoClassDefFoundError` due to using `@SafeVarargs` below API 19 (#5463).

### Internal

* Updated Realm Sync to 2.1.0.


## 4.1.0 (2017-10-20)

### Enhancements

* `Realm.deleteRealm()` and `RealmConfiguration.assetFile()` are multi-processes safe now.

### Bug Fixes

* Fix some potential database corruption caused by deleting the Realm file while a Realm instance are still opened in another process or the sync client thread.
* Added `realm.ignoreKotlinNullability` as a kapt argument to disable treating kotlin non-null types as `@Required` (#5412) (introduced in `v3.6.0`).
* Increased http connect/write timeout for low bandwidth network.


## 4.0.0 (2017-10-16)

### Breaking Changes

The internal file format has been upgraded. Opening an older Realm will upgrade the file automatically, but older versions of Realm will no longer be able to read the file.

* [ObjectServer] Updated protocol version to 22 which is only compatible with Realm Object Server >= 2.0.0.
* [ObjectServer] Removed deprecated APIs `SyncUser.retrieveUser()` and `SyncUser.retrieveUserAsync()`. Use `SyncUser.retrieveInfoForUser()` and `retrieveInfoForUserAsync()` instead.
* [ObjectServer] `SyncUser.Callback` now accepts a generic parameter indicating type of object returned when `onSuccess` is called.
* [ObjectServer] Renamed `SyncUser.getAccessToken` to `SyncUser.getRefreshToken`.
* [ObjectServer] Removed deprecated API `SyncUser.getManagementRealm()`.
* Calling `distinct()` on a sorted `RealmResults` no longer clears any sorting defined (#3503).
* Relaxed upper bound of type parameter of `RealmList`, `RealmQuery`, `RealmResults`, `RealmCollection`, `OrderedRealmCollection` and `OrderedRealmCollectionSnapshot`.
* Realm has upgraded its RxJava1 support to RxJava2 (#3497)
  * `Realm.asObservable()` has been renamed to `Realm.asFlowable()`.
  * `RealmList.asObservable()` has been renamed to `RealmList.asFlowable()`.
  * `RealmResults.asObservable()` has been renamed to `RealmResults.asFlowable()`.
  * `RealmObject.asObservable()` has been renamed to `RealmObject.asFlowable()`.
  * `RxObservableFactory` now return RxJava2 types instead of RxJava1 types.
* Removed deprecated APIs `RealmSchema.close()` and `RealmObjectSchema.close()`. Those don't have to be called anymore.
* Removed deprecated API `RealmResults.removeChangeListeners()`. Use `RealmResults.removeAllChangeListeners()` instead.
* Removed deprecated API `RealmObject.removeChangeListeners()`. Use `RealmObject.removeAllChangeListeners()` instead.
* Removed `UNSUPPORTED_TABLE`, `UNSUPPORTED_MIXED` and `UNSUPPORTED_DATE` from `RealmFieldType`.
* Removed deprecated API `RealmResults.distinct()`/`RealmResults.distinctAsync()`. Use `RealmQuery.distinct()`/`RealmQuery.distinctAsync()` instead.
* `RealmQuery.createQuery(Realm, Class)`, `RealmQuery.createDynamicQuery(DynamicRealm, String)`, `RealmQuery.createQueryFromResult(RealmResults)` and `RealmQuery.createQueryFromList(RealmList)` have been removed. Use `Realm.where(Class)`, `DynamicRealm.where(String)`, `RealmResults.where()` and `RealmList.where()` instead.

### Enhancements

* [ObjectServer] `SyncUserInfo` now also exposes a users metadata using `SyncUserInfo.getMetadata()`
* `RealmList` can now contain `String`, `byte[]`, `Boolean`, `Long`, `Integer`, `Short`, `Byte`, `Double`, `Float` and `Date` values. [Queries](https://github.com/realm/realm-java/issues/5361) and [Importing primitive lists from JSON](https://github.com/realm/realm-java/issues/5362) are not supported yet.
* Added support for lists of primitives in `RealmObjectSchema` with `addRealmListField(String fieldName, Class<?> primitiveType)`
* Added support for lists of primitives in `DynamicRealmObject` with `setList(String fieldName, RealmList<?> list)` and `getList(String fieldName, Class<?> primitiveType)`.
* Minor performance improvement when copy/insert objects into Realm.
* Added `static RealmObject.getRealm(RealmModel)`, `RealmObject.getRealm()` and `DynamicRealmObject.getDynamicRealm()` (#4720).
* Added `RealmResults.asChangesetObservable()` that emits the pair `(results, changeset)` (#4277).
* Added `RealmList.asChangesetObservable()` that emits the pair `(list, changeset)` (#4277).
* Added `RealmObject.asChangesetObservable()` that emits the pair `(object, changeset)` (#4277).
* All Realm annotations are now kept at runtime, allowing runtime tools access to them (#5344).
* Speedup schema initialization when a Realm file is first accessed (#5391).

### Bug Fixes

* [ObjectServer] Exposing a `RealmConfiguration` that allows a user to open the backup Realm after the client reset (#4759/#5223).
* [ObjectServer] Realm no longer throws a native “unsupported instruction” exception in some cases when opening a synced Realm asynchronously (https://github.com/realm/realm-object-store/issues/502).
* [ObjectServer] Fixed "Cannot open the read only Realm" issue when get`PermissionManager` (#5414).
* Throw `IllegalArgumentException` instead of `IllegalStateException` when calling string/binary data setters if the data length exceeds the limit.
* Added support for ISO8601 2-digit time zone designators (#5309).
* "Bad File Header" caused by the device running out of space while compacting the Realm (#5011).
* `RealmQuery.equalTo()` failed to find null values on an indexed field if using Case.INSENSITIVE (#5299).
* Assigning a managed object's own list to itself would accidentally clear it (#5395).
* Don't try to acquire `ApplicationContext` if not available in `Realm.init(Context)` (#5389).
* Removing and re-adding a changelistener from inside a changelistener sometimes caused notifications to be missed (#5411).

### Internal

* Upgraded to Realm Sync 2.0.2.
* Upgraded to Realm Core 4.0.2.
* Upgraded to OkHttp 3.9.0.
* Upgraded to RxJava 2.1.4.
* Use Object Store to create the primary key table.

### Credits

* Thanks to @JussiPekonen for adding support for 2-digit time zone designators when importing JSON (#5309).


## 3.7.2 (2017-09-12)

### Bug Fixes

* Fixed a JNI memory issue when doing queries which might potentially cause various native crashes.
* Fixed a bug that `RealmList.deleteFromRealm(int)`, `RealmList.deleteFirstFromRealm()` and `RealmList.deleteLastFromRealm()` did not remove target objects from Realm. This bug was introduced in `3.7.1` (#5233).
* Crash with "'xxx' doesn't exist in current schema." when ProGuard is enabled (#5211).


## 3.7.1 (2017-09-07)

### Bug Fixes

* Fixed potential memory leaks of `LinkView` when calling bulk insertions APIs.
* Fixed possible assertion when using `PermissionManager` at the beginning (#5195).
* Crash caused by JNI couldn't find `SharedRealm`'s inner classes when ProGuard is enabled (#5211).

### Internal

* Replaced LinkView with Object Store's List.
* Renaming `io.realm.internal.CollectionChangeSet` to `io.realm.internal.OsCollectionChangeSet`.


## 3.7.0 (2017-09-01)

### Deprecated

* [ObjectServer] `SyncUser.getManagementRealm()`. Use `SyncUser.getPermissionManager()` instead.

### Enhancements

* [ObjectServer] `SyncUser.getPermissionManager` added as a helper API for working with permissions and permission offers.

### Internal

* [ObjectServer] Upgraded OkHttp to 3.7.0.


## 3.6.0 (2017-09-01)

### Breaking Changes

* [ObjectServer] `SyncUser.logout()` no longer throws an exception when associated Realms instances are not closed (#4962).

### Deprecated

* [ObjectServer] `SyncUser#retrieveUser` and `SyncUser#retrieveUserAsync` replaced by `SyncUser#retrieveInfoForUser`
and `SyncUser#retrieveInfoForUserAsync` which returns a `SyncUserInfo` with mode information (#5008).
* [ObjectServer] `SyncUser#Callback` replaced by the generic version `SyncUser#RequestCallback<T>`.

### Enhancements

* [ObjectServer] Added `SyncSession.uploadAllLocalChanges()`.
* [ObjectServer] APIs of `UserStore` have been changed to support same user identity but different authentication server scenario.
* [ObjectServer] Added `SyncUser.allSessions` to retrieve the all valid sessions belonging to the user (#4783).
* Added `Nullable` annotation to methods that may return `null` in order to improve Kotlin usability. This also introduced a dependency to `com.google.code.findbugs:jsr305`.
* `org.jetbrains.annotations.NotNull` is now an alias for `@Required`. This means that the Realm Schema now fully understand Kotlin non-null types.
* Added support for new data type `MutableRealmIntegers`. The new type behaves almost exactly as a reference to a Long (mutable nullable, etc) but supports `increment` and `decrement` methods, which implement a Conflict Free Replicated Data Type, whose value will converge even when changed across distributed devices with poor connections (#4266).
* Added more detailed exception message for `RealmMigrationNeeded`.
* Bumping schema version only without any actual schema changes will just succeed even when the migration block is not supplied. It threw an `RealmMigrationNeededException` before in the same case.
* Throw `IllegalStateException` when schema validation fails because of wrong declaration of `@LinkingObjects`.

### Bug Fixes

* Potential crash after using `Realm.getSchema()` to change the schema of a typed Realm. `Realm.getSchema()` now returns an immutable `RealmSchema` instance.
* `Realm.copyToRealmOrUpdate()` could cause a `RealmList` field to contain duplicated elements (#4957).
* `RealmSchema.create(String)` and `RealmObjectSchema.setClassName(String)` did not accept class name whose length was 51 to 57.
* Workaround for an Android JVM crash when using `compactOnLaunch()` (#4964).
* Class name in exception message from link query is wrong (#5096).
* The `compactOnLaunch` callback is no longer invoked if the Realm at that path is already open on other threads.

### Internal

* [ObjectServer] removed `ObjectServerUser` and its inner classes, in a step to reduce `SyncUser` complexity (#3741).
* [ObjectServer] changed the `SyncSessionStopPolicy` to `AfterChangesUploaded` to align with other binding and to prevent use cases where the Realm might be deleted before the last changes get synchronized (#5028).
* Upgraded Realm Sync to 1.10.8
* Let Object Store handle migration.


## 3.5.0 (2017-07-11)

### Enhancements

* Added `RealmConfiguration.Builder.compactOnLaunch()` to compact the file on launch (#3739).
* [ObjectServer] Adding user lookup API for administrators (#4828).
* An `IllegalStateException` will be thrown if the given `RealmModule` doesn't include all required model classes (#3398).

### Bug Fixes

* Bug in `isNull()`, `isNotNull()`, `isEmpty()`, and `isNotEmpty()` when queries involve nullable fields in link queries (#4856).
* Bug in how to resolve field names when querying `@LinkingObjects` as the last field (#4864).
* Rare crash in `RealmLog` when log level was set to `LogLevel.DEBUG`.
* Broken case insensitive query with indexed field (#4788).
* [ObjectServer] Bug related to the behaviour of `SyncUser#logout` and the use of invalid `SyncUser` with `SyncConfiguration` (#4822).
* [ObjectServer] Not all error codes from the server were recognized correctly, resulting in UNKNOWN being reported instead.
* [ObjectServer] Prevent the use of a `SyncUser` that explicitly logged out, to open a Realm (#4975).

### Internal

* Use Object Store to do table initialization.
* Removed `Table#Table()`, `Table#addEmptyRow()`, `Table#addEmptyRows()`, `Table#add(Object...)`, `Table#pivot(long,long,PivotType)` and `Table#createnative()`.
* Upgraded Realm Core to 2.8.6
* Upgraded Realm Sync to 1.10.5
* Removed `io.realm.internal.OutOfMemoryError`. `java.lang.OutOfMemoryError` will be thrown instead.


## 3.4.0 (2017-06-22)

### Breaking Changes

* [ObjectServer] Updated protocol version to 18 which is only compatible with ROS > 1.6.0.

### Deprecated

* `RealmSchema.close()` and `RealmObjectSchema.close()`. They don't need to be closed manually. They were added to the public API by mistake.

### Enhancements

* [ObjectServer] Added support for Sync Progress Notifications through `SyncSession.addDownloadProgressListener(ProgressMode, ProgressListener)` and `SyncSession.addUploadProgressListener(ProgressMode, ProgressListener)` (#4104).
* [ObjectServer] Added `SyncSession.getState()` (#4784).
* Added support for querying inverse relationships (#2904).
* Moved inverse relationships out of beta stage.
* Added `Realm.getDefaultConfiguration()` (#4725).

### Bug Fixes

* [ObjectServer] Bug which may crash when the JNI local reference limitation was reached on sync client thread.
* [ObjectServer] Retrying connections with exponential backoff, when encountering `ConnectException` (#4310).
* When converting nullable BLOB field to required, `null` values should be converted to `byte[0]` instead of `byte[1]`.
* Bug which may cause duplicated primary key values when migrating a nullable primary key field to not nullable. `RealmObjectSchema.setRequired()` and `RealmObjectSchema.setNullable()` will throw when converting a nullable primary key field with null values stored to a required primary key field.

### Internal

* Upgraded to Realm Sync 1.10.1
* Upgraded to Realm Core 2.8.4

### Credits

* Thanks to Anis Ben Nsir (@abennsir) for upgrading Roboelectric in the unitTestExample (#4698).


## 3.3.2 (2017-06-09)

### Bug Fixes

* [ObjectServer] Crash when an authentication error happens (#4726).
* [ObjectServer] Enabled encryption with Sync (#4561).
* [ObjectServer] Admin users did not connect correctly to the server (#4750).

### Internal

* Factor out internal interface ManagedObject.

## 3.3.1 (2017-05-26)

### Bug Fixes

* [ObjectServer] Accepted extra columns against synced Realm (#4706).


## 3.3.0 (2017-05-24)

### Enhancements

* [ObjectServer] Added two options to `SyncConfiguration` to provide a trusted root CA `trustedRootCA` and to disable SSL validation `disableSSLVerification` (#4371).
* [ObjectServer] Added support for changing passwords through `SyncUser.changePassword()` using an admin user (#4588).

### Bug Fixes

* Queries on proguarded Realm model classes, failed with "Table not found" (#4673).


## 3.2.1 (2017-05-19)

### Enhancements

* Not in transaction illegal state exception message changed to "Cannot modify managed objects outside of a write transaction.".

### Bug Fixes

* [ObjectServer] `schemaVersion` was mistakenly required in order to trigger migrations (#4658).
* [ObjectServer] Fields removed from model classes will now correctly be hidden instead of throwing an exception when opening the Realm (#4658).
* Random crashes which were caused by a race condition in encrypted Realm (#4343).

### Internal

* Upgraded to Realm Sync 1.8.5.
* Upgraded to Realm Core 2.8.0.

## 3.2.0 (2017-05-16)

### Enhancements

* [ObjectServer] Added support for `SyncUser.isAdmin()` (#4353).
* [ObjectServer] New set of Permission API's have been added to `SyncUser` through `SyncUser.getPermissionManager()` (#4296).
* [ObjectServer] Added support for changing passwords through `SyncUser.changePassword()` (#4423).
* [ObjectServer] Added support for `SyncConfiguration.Builder.waitForInitialRemoteData()` (#4270).
* Transient fields are now allowed in model classes, but are implicitly treated as having the `@Ignore` annotation (#4279).
* Added `Realm.refresh()` and `DynamicRealm.refresh()` (#3476).
* Added `Realm.getInstanceAsync()` and `DynamicRealm.getInstanceAsync()` (#2299).
* Added `DynamicRealmObject#linkingObjects(String,String)` to support linking objects on `DynamicRealm` (#4492).
* Added support for read only Realms using `RealmConfiguration.Builder.readOnly()` and `SyncConfiguration.Builder.readOnly()`(#1147).
* Change listeners will now auto-expand variable names to be more descriptive when using Android Studio.
* The `toString()` methods for the standard and dynamic proxies now print "proxy", or "dynamic" before the left bracket enclosing the data.

### Bug Fixes

* `@LinkingObjects` annotation now also works with Kotlin (#4611).

### Internal

* Use separated locks for different `RealmCache`s (#4551).

## 3.1.4 (2017-05-04)

## Bug fixes

* Added missing row validation check in certain cases on invalidated/deleted objects (#4540).
* Initializing Realm is now more resilient if `Context.getFilesDir()` isn't working correctly (#4493).
* `OrderedRealmCollectionSnapshot.get()` returned a wrong object (#4554).
* `onSuccess` callback got triggered infinitely if a synced transaction was committed in the async transaction's `onSuccess` callback (#4594).

## 3.1.3 (2017-04-20)

### Enhancements

* [ObjectServer] Resume synchronization as soon as the connectivity is back (#4141).

### Bug Fixes

* `equals()` and `hashCode()` of managed `RealmObject`s that come from linking objects don't work correctly (#4487).
* Field name was missing in exception message when `null` was set to required field (#4484).
* Now throws `IllegalStateException` when a getter of linking objects is called against deleted or not yet loaded `RealmObject`s (#4499).
* `NullPointerException` caused by local transaction inside the listener of `findFirstAsync()`'s results (#4495).
* Native crash when adding listeners to `RealmObject` after removing listeners from the same `RealmObject` before (#4502).
* Native crash with "Invalid argument" error happened on some Android 7.1.1 devices when opening Realm on external storage (#4461).
* `OrderedRealmCollectionChangeListener` didn't report change ranges correctly when circular link's field changed (#4474).

### Internal

* Upgraded to Realm Sync 1.6.0.
* Upgraded to Realm Core 2.6.1.

## 3.1.2 (2017-04-12)

### Bug Fixes

* Crash caused by JNI couldn't find `OsObject.notifyChangeListeners` when ProGuard is enabled (#4461).
* Incompatible return type of `RealmSchema.getAll()` and `BaseRealm.getSchema()` (#4443).
* Memory leaked when synced Realm was initialized (#4465).
* An `IllegalStateException` will be thrown when starting iterating `OrderedRealmCollection` if the Realm is closed (#4471).

## 3.1.1 (2017-04-07)

### Bug Fixes

* Crash caused by Listeners on `RealmObject` getting triggered the 2nd time with different changed field (#4437).
* Unintentionally exposing `StandardRealmSchema` (#4443).
* Workaround for crashes on specific Samsung devices which are caused by a buggy `memmove` call (#3651).

## 3.1.0 (2017-04-05)

### Breaking Changes

* Updated file format of Realm files. Existing Realm files will automatically be migrated to the new format when they are opened, but older versions of Realm cannot open these files.
* [ObjectServer] Due to file format changes, Realm Object Server 1.3.0 or later is required.

### Enhancements

* Added support for reverse relationships through the `@LinkingObjects` annotation. See `io.realm.annotations.LinkingObjects` for documentation.
  * This feature is in `@Beta`.
  * Queries on linking objects do not work.  Queries like `where(...).equalTo("field.linkingObjects.id", 7).findAll()` are not yet supported.
  * Backlink verification is incomplete.  Evil code can cause native crashes.
* The listener on `RealmObject` will only be triggered if the object changes (#3894).
* Added `RealmObjectChangeListener` interface that provide detailed information about `RealmObject` field changes.
* Listeners on `RealmList` and `RealmResults` will be triggered immediately when the transaction is committed on the same thread (#4245).
* The real `RealmMigrationNeededException` is now thrown instead of `IllegalArgumentException` if no migration is provided for a Realm that requires it.
* `RealmQuery.distinct()` can be performed on unindexed fields (#2285).
* `targetSdkVersion` is now 25.
* [ObjectServer] In case of a Client Reset, information about the location of the backed up Realm file is now reported through the `ErrorHandler` interface (#4080).
* [ObjectServer] Authentication URLs now automatically append `/auth` if no other path segment is set (#4370).

### Bug Fixes

* Crash with `LogicError` with `Bad version number` on notifier thread (#4369).
* `Realm.migrateRealm(RealmConfiguration)` now fails correctly with an `IllegalArgumentException` if a `SyncConfiguration` is provided (#4075).
* Potential cause for Realm file corruptions (never reported).
* Add `@Override` annotation to proxy class accessors and stop using raw type in proxy classes in order to remove warnings from javac (#4329).
* `findFirstAsync()` now returns an invalid object if there is no object matches the query condition instead of running the query repeatedly until it can find one (#4352).
* [ObjectServer] Changing the log level after starting a session now works correctly (#4337).

### Internal

* Using the Object Store's Session and SyncManager.
* Upgraded to Realm Sync 1.5.0.
* Upgraded to Realm Core 2.5.1.
* Upgraded Gradle to 3.4.1

## 3.0.0 (2017-02-28)

### Breaking Changes

* `RealmResults.distinct()` returns a new `RealmResults` object instead of filtering on the original object (#2947).
* `RealmResults` is auto-updated continuously. Any transaction on the current thread which may have an impact on the order or elements of the `RealmResults` will change the `RealmResults` immediately instead of change it in the next event loop. The standard `RealmResults.iterator()` will continue to work as normal, which means that you can still delete or modify elements without impacting the iterator. The same is not true for simple for-loops. In some cases a simple for-loop will not work (https://realm.io/docs/java/3.0.0/api/io/realm/OrderedRealmCollection.html#loops), and you must use the new createSnapshot() method.
* `RealmChangeListener` on `RealmObject` will now also be triggered when the object is deleted. Use `RealmObject.isValid()` to check this state(#3138).
* `RealmObject.asObservable()` will now emit the object when it is deleted. Use `RealmObject.isValid()` to check this state (#3138).
* Removed deprecated classes `Logger` and `AndroidLogger` (#4050).

### Deprecated

* `RealmResults.removeChangeListeners()`. Use `RealmResults.removeAllChangeListeners()` instead.
* `RealmObject.removeChangeListeners()`. Use `RealmObject.removeAllChangeListeners()` instead.
* `RealmResults.distinct()` and `RealmResults.distinctAsync()`. Use `RealmQuery.distinct()` and `RealmQuery.distinctAsync()` instead.

### Enhancements

* Added support for sorting by link's field (#672).
* Added `OrderedRealmCollectionSnapshot` class and `OrderedRealmCollection.createSnapshot()` method. `OrderedRealmCollectionSnapshot` is useful when changing `RealmResults` or `RealmList` in simple loops.
* Added `OrderedRealmCollectionChangeListener` interface for supporting fine-grained collection notifications.
* Added support for ChangeListeners on `RealmList`.
* Added `RealmList.asObservable()`.

### Bug Fixes

* Element type checking in `DynamicRealmObject#setList()` (#4252).
* Now throws `IllegalStateException` instead of process crash when any of thread confined methods in `RealmQuery` is called from wrong thread (#4228).
* Now throws `IllegalStateException` when any of thread confined methods in `DynamicRealmObject` is called from wrong thread (#4258).

### Internal

* Use Object Store's `Results` as the backend for `RealmResults` (#3372).
  - Use Object Store's notification mechanism to trigger listeners.
  - Local commits triggers Realm global listener and `RealmObject` listener on current thread immediately instead of in the next event loop.


## 2.3.2 (2017-02-27)

### Bug fixes

* Log levels in JNI layer were all reported as "Error" (#4204).
* Encrypted realms can end up corrupted if many threads are reading and writing at the same time (#4128).
* "Read-only file system" exception when compacting Realm file on external storage (#4140).

### Internal

* Updated to Realm Sync v1.2.1.
* Updated to Realm Core v2.3.2.

### Enhancements

* Improved performance of getters and setters in proxy classes.


## 2.3.1 (2017-02-07)

### Enhancements

* [ObjectServer] The `serverUrl` given to `SyncConfiguration.Builder()` is now more lenient and will also accept only paths as argument (#4144).
* [ObjectServer] Add a timer to refresh periodically the access_token.

### Bug fixes

* NPE problem in SharedRealm.finalize() (#3730).
* `RealmList.contains()` and `RealmResults.contains()` now correctly use custom `equals()` method on Realm model classes.
* Build error when the project is using Kotlin (#4087).
* Bug causing classes to be replaced by classes already in Gradle's classpath (#3568).
* NullPointerException when notifying a single object that it changed (#4086).


## 2.3.0 (2017-01-19)

### Object Server API Changes

* Realm Sync v1.0.0 has been released, and Realm Mobile Platform is no longer considered in beta.
* Breaking change: Location of Realm files are now placed in `getFilesDir()/<userIdentifier>` instead of `getFilesDir()/`.
  This is done in order to support shared Realms among users, while each user retaining their own local copy.
* Breaking change: `SyncUser.all()` now returns Map instead of List.
* Breaking change: Added a default `UserStore` saving users in a Realm file (`RealmFileUserStore`).
* Breaking change: Added multi-user support to `UserStore`. Added `get(String)` and `remove(String)`, removed `remove()` and renamed `get()` to `getCurrent()`.
* Breaking change: Changed the order of arguments to `SyncCredentials.custom()` to match iOS: token, provider, userInfo.
* Added support for `PermissionOffer` and `PermissionOfferResponse` to `SyncUser.getManagementRealm()`.
* Exceptions thrown in error handlers are ignored but logged (#3559).
* Removed unused public constants in `SyncConfiguration` (#4047).
* Fixed bug, preventing Sync client to renew the access token (#4038) (#4039).
* Now `SyncUser.logout()` properly revokes tokens (#3639).

### Bug fixes

* Fixed native memory leak setting the value of a primary key (#3993).
* Activated Realm's annotation processor on connectedTest when the project is using kapt (#4008).
* Fixed "too many open files" issue (#4002).
* Added temporary work-around for bug crashing Samsung Tab 3 devices on startup (#3651).

### Enhancements

* Added `like` predicate for String fields (#3752).

### Internal

* Updated to Realm Sync v1.0.0.
* Added a Realm backup when receiving a Sync client reset message from the server.

## 2.2.2 (2017-01-16)

### Object Server API Changes (In Beta)

* Disabled `Realm.compactRealm()` when sync is enabled as it might corrupt the Realm (https://github.com/realm/realm-core/issues/2345).

### Bug fixes

* "operation not permitted" issue when creating Realm file on some devices' external storage (#3629).
* Crash on API 10 devices (#3726).
* `UnsatisfiedLinkError` caused by `pipe2` (#3945).
* Unrecoverable error with message "Try again" when the notification fifo is full (#3964).
* Realm migration wasn't triggered when the primary key definition was altered (#3966).
* Use phantom reference to solve the finalize time out issue (#2496).

### Enhancements

* All major public classes are now non-final. This is mostly a compromise to support Mockito. All protected fields/methods are still not considered part of the public API and can change without notice (#3869).
* All Realm instances share a single notification daemon thread.
* Fixed Java lint warnings with generated proxy classes (#2929).

### Internal

* Upgraded Realm Core to 2.3.0.
* Upgraded Realm Sync to 1.0.0-BETA-6.5.

## 2.2.1 (2016-11-12)

### Object Server API Changes (In Beta)

* Fixed `SyncConfiguration.toString()` so it now outputs a correct description instead of an empty string (#3787).

### Bug fixes

* Added version number to the native library, preventing ReLinker from accidentally loading old code (#3775).
* `Realm.getLocalInstanceCount(config)` throwing NullPointerException if called after all Realms have been closed (#3791).

## 2.2.0 (2016-11-12)

### Object Server API Changes (In Beta)

* Added support for `SyncUser.getManagementRealm()` and permission changes.

### Bug fixes

* Kotlin projects no longer create the `RealmDefaultModule` if no Realm model classes are present (#3746).
* Remove `includedescriptorclasses` option from ProGuard rule file in order to support built-in shrinker of Android Gradle Plugin (#3714).
* Unexpected `RealmMigrationNeededException` was thrown when a field was added to synced Realm.

### Enhancements

* Added support for the `annotationProcessor` configuration provided by Android Gradle Plugin 2.2.0 or later. Realm plugin adds its annotation processor to the `annotationProcessor` configuration instead of `apt` configuration if it is available and the `com.neenbedankt.android-apt` plugin is not used. In Kotlin projects, `kapt` is used instead of the `annotationProcessor` configuration (#3026).

## 2.1.1 (2016-10-27)

### Bug fixes

* Fixed a bug in `Realm.insert` and `Realm.insertOrUpdate` methods causing a `StackOverFlow` when you try to insert a cyclic graph of objects between Realms (#3732).

### Object Server API Changes (In Beta)

* Set default RxFactory to `SyncConfiguration`.

### Bug fixes

* ProGuard configuration introduced in 2.1.0 unexpectedly kept classes that did not have the @KeepMember annotation (#3689).

## 2.1.0 (2016-10-25)

### Breaking changes

* * `SecureUserStore` has been moved to its own GitHub repository: https://github.com/realm/realm-android-user-store
  See https://github.com/realm/realm-android-user-store/blob/master/README.md for further info on how to include it.


### Object Server API Changes (In Beta)

* Renamed `User` to `SyncUser`, `Credentials` to `SyncCredentials` and `Session` to `SyncSession` to align names with Cocoa.
* Removed `SyncManager.setLogLevel()`. Use `RealmLog.setLevel()` instead.
* `SyncUser.logout()` now correctly clears `SyncUser.currentUser()` (#3638).
* Missing ProGuard configuration for libraries used by Sync extension (#3596).
* Error handler was not called when sync session failed (#3597).
* Added `User.all()` that returns all known Realm Object Server users.
* Upgraded Realm Sync to 1.0.0-BETA-3.2

### Deprecated

* `Logger`. Use `RealmLogger` instead.
* `AndroidLogger`. The logger for Android is implemented in native code instead.

### Bug fixes

* The following were not kept by ProGuard: names of native methods not in the `io.realm.internal` package, names of classes used in method signature (#3596).
* Permission error when a database file was located on external storage (#3140).
* Memory leak when unsubscribing from a RealmResults/RealmObject RxJava Observable (#3552).

### Enhancements

* `Realm.compactRealm()` now works for encrypted Realms.
* Added `first(E defaultValue)` and `last(E defaultValue)` methods to `RealmList` and `RealmResult`. These methods will return the provided object instead of throwing an `IndexOutOfBoundsException` if the list is empty.
* Reduce transformer logger verbosity (#3608).
* `RealmLog.setLevel(int)` for setting the log level across all loggers.

### Internal

* Upgraded Realm Core to 2.1.3

### Credits

* Thanks to Max Furman (@maxfurman) for adding support for `first()` and `last()` default values.

## 2.0.2 (2016-10-06)

This release is not protocol-compatible with previous versions of the Realm Mobile Platform. The base library is still fully compatible.

### Bug fixes

* Build error when using Java 7 (#3563).

### Internal

* Upgraded Realm Core to 2.1.0
* Upgraded Realm Sync to 1.0.0-BETA-2.0.

## 2.0.1 (2016-10-05)

### Bug fixes

* `android.net.conn.CONNECTIVITY_CHANGE` broadcast caused `RuntimeException` if sync extension was disabled (#3505).
* `android.net.conn.CONNECTIVITY_CHANGE` was not delivered on Android 7 devices.
* `distinctAsync` did not respect other query parameters (#3537).
* `ConcurrentModificationException` from Gradle when building an application (#3501).

### Internal

* Upgraded to Realm Core 2.0.1 / Realm Sync 1.3-BETA

## 2.0.0 (2016-09-27)

This release introduces support for the Realm Mobile Platform!
See <https://realm.io/news/introducing-realm-mobile-platform/> for an overview of these great new features.

### Breaking Changes

* Files written by Realm 2.0 cannot be read by 1.x or earlier versions. Old files can still be opened.
* It is now required to call `Realm.init(Context)` before calling any other Realm API.
* Removed `RealmConfiguration.Builder(Context)`, `RealmConfiguration.Builder(Context, File)` and `RealmConfiguration.Builder(File)` constructors.
* `isValid()` now always returns `true` instead of `false` for unmanaged `RealmObject` and `RealmList`. This puts it in line with the behaviour of the Cocoa and .NET API's (#3101).
* armeabi is not supported anymore.
* Added new `RealmFileException`.
  - `IncompatibleLockFileException` has been removed and replaced by `RealmFileException` with kind `INCOMPATIBLE_LOCK_FILE`.
  - `RealmIOExcpetion` has been removed and replaced by `RealmFileException`.
* `RealmConfiguration.Builder.assetFile(Context, String)` has been renamed to `RealmConfiguration.Builder.assetFile(String)`.
* Object with primary key is now required to define it when the object is created. This means that `Realm.createObject(Class<E>)` and `DynamicRealm.createObject(String)` now throws `RealmException` if they are used to create an object with a primary key field. Use `Realm.createObject(Class<E>, Object)` or `DynamicRealm.createObject(String, Object)` instead.
* Importing from JSON without the primary key field defined in the JSON object now throws `IllegalArgumentException`.
* Now `Realm.beginTransaction()`, `Realm.executeTransaction()` and `Realm.waitForChange()` throw `RealmMigrationNeededException` if a remote process introduces incompatible schema changes (#3409).
* The primary key value of an object can no longer be changed after the object was created. Instead a new object must be created and all fields copied over.
* Now `Realm.createObject(Class)` and `Realm.createObject(Class,Object)` take the values from the model's fields and default constructor. Creating objects through the `DynamicRealm` does not use these values (#777).
* When `Realm.create*FromJson()`s create a new `RealmObject`, now they take the default values defined by the field itself and its default constructor for those fields that are not defined in the JSON object.

### Enhancements

* Added `realmObject.isManaged()`, `RealmObject.isManaged(obj)` and `RealmCollection.isManaged()` (#3101).
* Added `RealmConfiguration.Builder.directory(File)`.
* `RealmLog` has been moved to the public API. It is now possible to control which events Realm emit to Logcat. See the `RealmLog` class for more details.
* Typed `RealmObject`s can now continue to access their fields properly even though the schema was changed while the Realm was open (#3409).
* A `RealmMigrationNeededException` will be thrown with a cause to show the detailed message when a migration is needed and the migration block is not in the `RealmConfiguration`.


### Bug fixes

* Fixed a lint error in proxy classes when the 'minSdkVersion' of user's project is smaller than 11 (#3356).
* Fixed a potential crash when there were lots of async queries waiting in the queue.
* Fixed a bug causing the Realm Transformer to not transform field access in the model's constructors (#3361).
* Fixed a bug causing a build failure when the Realm Transformer adds accessors to a model class that was already transformed in other project (#3469).
* Fixed a bug causing the `NullPointerException` when calling getters/setters in the model's constructors (#2536).

### Internal

* Moved JNI build to CMake.
* Updated Realm Core to 2.0.0.
* Updated ReLinker to 1.2.2.

## 1.2.0 (2016-08-19)

### Bug fixes

* Throw a proper exception when operating on a non-existing field with the dynamic API (#3292).
* `DynamicRealmObject.setList` should only accept `RealmList<DynamicRealmObject>` (#3280).
* `DynamicRealmObject.getX(fieldName)` now throws a proper exception instead of a native crash when called with a field name of the wrong type (#3294).
* Fixed a concurrency crash which might happen when `Realm.executeTransactionAsync()` tried to call `onSucess` after the Realm was closed.

### Enhancements

* Added `RealmQuery.in()` for a comparison against multiple values.
* Added byte array (`byte[]`) support to `RealmQuery`'s `equalTo` and `notEqualTo` methods.
* Optimized internal caching of schema classes (#3315).

### Internal

* Updated Realm Core to 1.5.1.
* Improved sorting speed.
* Completely removed the `OptionalAPITransformer`.

### Credits

* Thanks to Brenden Kromhout (@bkromhout) for adding binary array support to `equalTo` and `notEqualTo`.

## 1.1.1 (2016-07-01)

### Bug fixes

* Fixed a wrong JNI method declaration which might cause "method not found" crash on some devices.
* Fixed a bug that `Error` in the background async thread is not forwarded to the caller thread.
* Fixed a crash when an empty `Collection` is passed to `insert()`/`insertOrUpdate()` (#3103).
* Fixed a bug that does not transfer the primary key when `RealmSchemaObject.setClassName()` is called to rename a cl
Download .txt
gitextract_frl3iah0/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   └── config.yml
│   ├── advanced-issue-labeler.yml
│   ├── auto_assign.yml
│   ├── no-response.yml
│   └── workflows/
│       ├── Issue-Needs-Attention.yml
│       ├── auto-assign.yml
│       ├── check-changelog.yml
│       ├── check-pr-title.yml
│       ├── gradle-wrapper-validation.yml
│       ├── issue-labeler.yml
│       ├── lock-threads.yml
│       └── no-response.yml
├── .gitignore
├── .gitmodules
├── CHANGELOG.md
├── CONTRIBUTING.md
├── Dockerfile
├── Jenkinsfile
├── LICENSE
├── README.md
├── SUPPORT.md
├── build.gradle
├── dependencies.list
├── docs/
│   ├── README.md
│   └── guides/
│       ├── adapters.md
│       ├── async-api.md
│       ├── crud/
│       │   ├── create.md
│       │   ├── delete.md
│       │   ├── filter-data.md
│       │   ├── read.md
│       │   ├── threading.md
│       │   └── update.md
│       ├── crud.md
│       ├── install.md
│       ├── model-data/
│       │   ├── data-types/
│       │   │   ├── collections.md
│       │   │   ├── counters.md
│       │   │   ├── embedded-objects.md
│       │   │   ├── enums.md
│       │   │   ├── field-types.md
│       │   │   ├── realmany.md
│       │   │   ├── realmdictionary.md
│       │   │   └── realmset.md
│       │   ├── data-types.md
│       │   ├── define-a-realm-object-model.md
│       │   ├── modify-an-object-schema.md
│       │   └── relationships.md
│       ├── model-data.md
│       ├── quick-start-local.md
│       ├── react-to-changes.md
│       ├── realm-files/
│       │   ├── bundle-a-realm.md
│       │   ├── encryption.md
│       │   └── open-and-close-a-realm.md
│       ├── realm-files.md
│       ├── realm-query-language.md
│       ├── test-and-debug/
│       │   ├── debugging.md
│       │   ├── log-realm-events.md
│       │   ├── testing.md
│       │   └── troubleshooting.md
│       └── troubleshooting.md
├── examples/
│   ├── architectureComponentsExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── arch/
│   │           │                   ├── ArchExampleActivity.java
│   │           │                   ├── BackgroundTask.java
│   │           │                   ├── CustomApplication.java
│   │           │                   ├── PersonFragment.java
│   │           │                   ├── PersonListFragment.java
│   │           │                   ├── PersonListViewModel.java
│   │           │                   ├── PersonViewModel.java
│   │           │                   ├── livemodel/
│   │           │                   │   ├── LiveRealmObject.java
│   │           │                   │   └── LiveRealmResults.java
│   │           │                   ├── model/
│   │           │                   │   └── Person.java
│   │           │                   └── utils/
│   │           │                       └── ContextUtils.java
│   │           └── res/
│   │               ├── drawable/
│   │               │   ├── ic_play_arrow_black_24dp.xml
│   │               │   └── ic_stop_black_24dp.xml
│   │               ├── layout/
│   │               │   ├── activity_arch_example.xml
│   │               │   ├── fragment_person.xml
│   │               │   ├── fragment_person_list.xml
│   │               │   └── item_person.xml
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── build.gradle
│   ├── compatibilityExample/
│   │   ├── README.md
│   │   ├── build.gradle
│   │   ├── gradle.properties
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── compatibility/
│   │           │                   ├── MyActivity.kt
│   │           │                   └── MyApplication.kt
│   │           └── res/
│   │               ├── layout/
│   │               │   └── activity_my_activty.xml
│   │               └── values/
│   │                   ├── dimens.xml
│   │                   ├── realm_colors.xml
│   │                   ├── strings.xml
│   │                   └── styles.xml
│   ├── coroutinesExample/
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── coroutinesexample/
│   │           │                   ├── MainActivity.kt
│   │           │                   ├── MainApplication.kt
│   │           │                   ├── data/
│   │           │                   │   └── newsreader/
│   │           │                   │       ├── local/
│   │           │                   │       │   ├── RealmNYTDao.kt
│   │           │                   │       │   ├── RealmNYTimes.kt
│   │           │                   │       │   └── repository/
│   │           │                   │       │       └── NewsReaderRepository.kt
│   │           │                   │       └── network/
│   │           │                   │           ├── NYTimesApiClient.kt
│   │           │                   │           ├── NYTimesService.kt
│   │           │                   │           └── model/
│   │           │                   │               └── NYTimes.kt
│   │           │                   ├── di/
│   │           │                   │   └── DependencyGraph.kt
│   │           │                   ├── ui/
│   │           │                   │   ├── details/
│   │           │                   │   │   ├── DetailsFragment.kt
│   │           │                   │   │   └── DetailsViewModel.kt
│   │           │                   │   └── main/
│   │           │                   │       ├── MainAdapter.kt
│   │           │                   │       ├── MainFragment.kt
│   │           │                   │       └── MainViewModel.kt
│   │           │                   └── util/
│   │           │                       └── NewsReaderFlowFactory.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   └── ic_launcher_background.xml
│   │               ├── drawable-v24/
│   │               │   └── ic_launcher_foreground.xml
│   │               ├── layout/
│   │               │   ├── activity_main.xml
│   │               │   ├── fragment_details.xml
│   │               │   ├── fragment_main.xml
│   │               │   └── item_article.xml
│   │               ├── mipmap-anydpi-v26/
│   │               │   ├── ic_launcher.xml
│   │               │   └── ic_launcher_round.xml
│   │               └── values/
│   │                   ├── colors.xml
│   │                   ├── dimens.xml
│   │                   ├── strings.xml
│   │                   ├── styles.xml
│   │                   └── themes.xml
│   ├── encryptionExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── encryption/
│   │           │                   ├── EncryptionExampleActivity.java
│   │           │                   ├── MyApplication.java
│   │           │                   ├── Person.java
│   │           │                   └── Util.java
│   │           └── res/
│   │               └── values/
│   │                   ├── strings.xml
│   │                   └── styles.xml
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── gridViewExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   ├── proguard-rules.pro
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── assets/
│   │           │   └── cities.json
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── realmgridview/
│   │           │                   ├── City.java
│   │           │                   ├── CityAdapter.java
│   │           │                   ├── GridViewExampleActivity.java
│   │           │                   └── MyApplication.java
│   │           └── res/
│   │               ├── layout/
│   │               │   ├── activity_realm_example.xml
│   │               │   └── city_listitem.xml
│   │               └── values/
│   │                   ├── strings.xml
│   │                   └── styles.xml
│   ├── introExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── intro/
│   │           │                   ├── IntroExampleActivity.java
│   │           │                   ├── MyApplication.java
│   │           │                   └── model/
│   │           │                       ├── Cat.java
│   │           │                       ├── Dog.java
│   │           │                       └── Person.java
│   │           └── res/
│   │               ├── layout/
│   │               │   └── activity_realm_basic_example.xml
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── jsonExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   ├── lombok.config
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── assets/
│   │           │   └── cities.json
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── json/
│   │           │                   ├── City.java
│   │           │                   ├── CityAdapter.java
│   │           │                   ├── JsonExampleActivity.java
│   │           │                   └── MyApplication.java
│   │           └── res/
│   │               ├── layout/
│   │               │   ├── activity_realm_example.xml
│   │               │   └── city_listitem.xml
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── kotlinExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── kotlin/
│   │           │                   ├── KotlinExampleActivity.kt
│   │           │                   ├── MyApplication.kt
│   │           │                   └── model/
│   │           │                       ├── Cat.kt
│   │           │                       ├── Dog.kt
│   │           │                       └── Person.kt
│   │           └── res/
│   │               ├── layout/
│   │               │   └── activity_realm_basic_example.xml
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── migrationExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── realmmigrationexample/
│   │           │                   ├── MigrationExampleActivity.java
│   │           │                   ├── MyApplication.java
│   │           │                   └── model/
│   │           │                       ├── Migration.java
│   │           │                       ├── Person.java
│   │           │                       └── Pet.java
│   │           └── res/
│   │               ├── layout/
│   │               │   └── activity_realm_migration_example.xml
│   │               ├── raw/
│   │               │   ├── default0.realm
│   │               │   ├── default1.realm
│   │               │   └── default2.realm
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── moduleExample/
│   │   ├── app/
│   │   │   ├── build.gradle
│   │   │   ├── keystore/
│   │   │   │   └── release.keystore
│   │   │   ├── lint.xml
│   │   │   ├── proguard-rules.pro
│   │   │   └── src/
│   │   │       └── main/
│   │   │           ├── AndroidManifest.xml
│   │   │           ├── java/
│   │   │           │   └── io/
│   │   │           │       └── realm/
│   │   │           │           └── examples/
│   │   │           │               └── appmodules/
│   │   │           │                   ├── ModulesExampleActivity.java
│   │   │           │                   ├── MyApplication.java
│   │   │           │                   ├── model/
│   │   │           │                   │   ├── Cow.java
│   │   │           │                   │   ├── CrossModuleLinks.java
│   │   │           │                   │   ├── Pig.java
│   │   │           │                   │   ├── Snake.java
│   │   │           │                   │   └── Spider.java
│   │   │           │                   └── modules/
│   │   │           │                       └── CreepyAnimalsModule.java
│   │   │           └── res/
│   │   │               ├── layout/
│   │   │               │   └── activity_modules_example.xml
│   │   │               ├── values/
│   │   │               │   ├── dimens.xml
│   │   │               │   ├── strings.xml
│   │   │               │   └── styles.xml
│   │   │               └── values-w820dp/
│   │   │                   └── dimens.xml
│   │   └── library/
│   │       ├── build.gradle
│   │       ├── lint.xml
│   │       └── src/
│   │           └── main/
│   │               ├── AndroidManifest.xml
│   │               ├── java/
│   │               │   └── io/
│   │               │       └── realm/
│   │               │           └── examples/
│   │               │               └── librarymodules/
│   │               │                   ├── Zoo.java
│   │               │                   ├── model/
│   │               │                   │   ├── Cat.java
│   │               │                   │   ├── Dog.java
│   │               │                   │   ├── Elephant.java
│   │               │                   │   ├── EmbeddedAnimal.java
│   │               │                   │   ├── Lion.java
│   │               │                   │   └── Zebra.java
│   │               │                   └── modules/
│   │               │                       ├── AllAnimalsModule.java
│   │               │                       ├── DomesticAnimalsModule.java
│   │               │                       └── ZooAnimalsModule.java
│   │               └── res/
│   │                   └── values/
│   │                       └── strings.xml
│   ├── mongoDbRealmExample/
│   │   ├── README.md
│   │   ├── build.gradle
│   │   ├── gradle.properties
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── com/
│   │           │       └── mongodb/
│   │           │           └── realm/
│   │           │               └── example/
│   │           │                   ├── CounterActivity.kt
│   │           │                   ├── LoginActivity.kt
│   │           │                   ├── MyApplication.kt
│   │           │                   └── model/
│   │           │                       └── CRDTCounter.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   └── button_counter.xml
│   │               ├── layout/
│   │               │   ├── activity_counter.xml
│   │               │   └── activity_login.xml
│   │               ├── menu/
│   │               │   └── menu_counter.xml
│   │               ├── values/
│   │               │   ├── dimens.xml
│   │               │   ├── realm_colors.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── multiprocessExample/
│   │   ├── .gitignore
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── realmmultiprocessexample/
│   │           │                   ├── AnotherProcessService.java
│   │           │                   ├── MainActivity.java
│   │           │                   ├── MyApplication.java
│   │           │                   ├── Utils.java
│   │           │                   └── models/
│   │           │                       └── ProcessInfo.java
│   │           └── res/
│   │               ├── layout/
│   │               │   └── activity_main.xml
│   │               ├── values/
│   │               │   ├── colors.xml
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── rxJavaExample/
│   │   ├── README.md
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── rxjava/
│   │           │                   ├── MainActivity.java
│   │           │                   ├── MyApplication.java
│   │           │                   ├── animation/
│   │           │                   │   └── AnimationActivity.java
│   │           │                   ├── gotchas/
│   │           │                   │   └── GotchasActivity.java
│   │           │                   ├── model/
│   │           │                   │   └── Person.java
│   │           │                   ├── retrofit/
│   │           │                   │   ├── GitHubApi.java
│   │           │                   │   ├── GitHubUser.java
│   │           │                   │   ├── RetrofitExample.java
│   │           │                   │   └── UserViewModel.java
│   │           │                   └── throttle/
│   │           │                       └── ThrottleSearchActivity.java
│   │           └── res/
│   │               ├── layout/
│   │               │   ├── activity_animations.xml
│   │               │   ├── activity_gotchas.xml
│   │               │   ├── activity_main.xml
│   │               │   ├── activity_network.xml
│   │               │   └── activity_throttlesearch.xml
│   │               ├── values/
│   │               │   ├── colors.xml
│   │               │   ├── dimens.xml
│   │               │   ├── strings.xml
│   │               │   └── styles.xml
│   │               └── values-w820dp/
│   │                   └── dimens.xml
│   ├── settings.gradle
│   ├── threadExample/
│   │   ├── build.gradle
│   │   ├── lint.xml
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── examples/
│   │           │               └── threads/
│   │           │                   ├── AsyncQueryFragment.java
│   │           │                   ├── AsyncTaskFragment.java
│   │           │                   ├── MyApplication.java
│   │           │                   ├── PassingObjectsFragment.java
│   │           │                   ├── ReceivingActivity.java
│   │           │                   ├── ReceivingService.java
│   │           │                   ├── ThreadExampleActivity.java
│   │           │                   ├── ThreadFragment.java
│   │           │                   ├── WakefulReceivingBroadcastReceiver.java
│   │           │                   ├── WakefulReceivingService.java
│   │           │                   ├── model/
│   │           │                   │   ├── Dot.java
│   │           │                   │   ├── Person.java
│   │           │                   │   └── Score.java
│   │           │                   └── widget/
│   │           │                       └── DotsView.java
│   │           └── res/
│   │               ├── layout/
│   │               │   ├── activity_main.xml
│   │               │   ├── activity_receiving.xml
│   │               │   ├── fragment_async_query.xml
│   │               │   ├── fragment_asynctask.xml
│   │               │   ├── fragment_passing_objects.xml
│   │               │   └── fragment_thread.xml
│   │               ├── menu/
│   │               │   └── menu_backgroundthread.xml
│   │               └── values/
│   │                   ├── colors.xml
│   │                   ├── dimens.xml
│   │                   ├── strings.xml
│   │                   └── styles.xml
│   └── unitTestExample/
│       ├── README.md
│       ├── build.gradle
│       ├── gradle.properties
│       ├── lint.xml
│       └── src/
│           ├── androidTest/
│           │   └── java/
│           │       └── io/
│           │           └── realm/
│           │               └── examples/
│           │                   └── unittesting/
│           │                       └── jUnit4ExampleTest.java
│           ├── main/
│           │   ├── AndroidManifest.xml
│           │   ├── java/
│           │   │   └── io/
│           │   │       └── realm/
│           │   │           └── examples/
│           │   │               └── unittesting/
│           │   │                   ├── ExampleActivity.java
│           │   │                   ├── model/
│           │   │                   │   ├── Cat.java
│           │   │                   │   ├── Dog.java
│           │   │                   │   └── Person.java
│           │   │                   └── repository/
│           │   │                       ├── DogRepository.java
│           │   │                       └── DogRepositoryImpl.java
│           │   └── res/
│           │       ├── layout/
│           │       │   └── activity_example.xml
│           │       ├── values/
│           │       │   ├── colors.xml
│           │       │   ├── dimens.xml
│           │       │   ├── strings.xml
│           │       │   └── styles.xml
│           │       └── values-w820dp/
│           │           └── dimens.xml
│           └── test/
│               └── java/
│                   └── io/
│                       └── realm/
│                           └── examples/
│                               └── unittesting/
│                                   ├── ExampleActivityTest.java
│                                   └── ExampleRealmTest.java
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle-plugin/
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle
│   └── src/
│       ├── main/
│       │   ├── kotlin/
│       │   │   └── io/
│       │   │       └── realm/
│       │   │           └── gradle/
│       │   │               ├── Realm.kt
│       │   │               └── SimpleAGPVersion.kt
│       │   ├── resources/
│       │   │   └── META-INF/
│       │   │       └── gradle-plugins/
│       │   │           └── realm-android.properties
│       │   └── templates/
│       │       └── Version.kt
│       └── test/
│           └── groovy/
│               └── io/
│                   └── realm/
│                       └── gradle/
│                           └── PluginTest.groovy
├── gradle.properties
├── gradlew
├── gradlew.bat
├── latest
├── library-benchmarks/
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle
│   └── src/
│       ├── androidTest/
│       │   ├── AndroidManifest.xml
│       │   └── java/
│       │       └── io/
│       │           └── realm/
│       │               └── benchmarks/
│       │                   ├── CopyToRealmBenchmarks.kt
│       │                   ├── CopyToRealmOrUpdateBenchmarks.kt
│       │                   ├── FrozenObjectsBenchmarks.kt
│       │                   ├── RealmAllocBenchmarks.kt
│       │                   ├── RealmBenchmarks.kt
│       │                   ├── RealmInsertBenchmark.kt
│       │                   ├── RealmObjectReadBenchmarks.kt
│       │                   ├── RealmObjectWriteBenchmarks.kt
│       │                   ├── RealmQueryBenchmarks.kt
│       │                   ├── RealmResultsBenchmarks.kt
│       │                   └── entities/
│       │                       ├── AllTypes.java
│       │                       └── AllTypesPrimaryKey.java
│       └── main/
│           └── AndroidManifest.xml
├── library-build-transformer/
│   ├── .gitignore
│   ├── README.md
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── io/
│       │           └── realm/
│       │               └── buildtransformer/
│       │                   ├── RealmBuildTransformer.kt
│       │                   ├── asm/
│       │                   │   ├── ClassPoolTransformer.kt
│       │                   │   └── visitors/
│       │                   │       ├── AnnotatedCodeStripVisitor.kt
│       │                   │       └── AnnotationVisitor.kt
│       │                   ├── ext/
│       │                   │   └── FileExt.kt
│       │                   └── util/
│       │                       └── Stopwatch.kt
│       └── test/
│           ├── java/
│           │   └── io/
│           │       └── realm/
│           │           ├── buildtransformer/
│           │           │   └── testclasses/
│           │           │       ├── NestedTestClass.java
│           │           │       ├── SimpleTestClass.java
│           │           │       ├── SimpleTestFields.java
│           │           │       ├── SimpleTestMethods.java
│           │           │       ├── SubClass.java
│           │           │       └── SuperClass.java
│           │           └── internal/
│           │               └── annotations/
│           │                   ├── CustomAnnotation.java
│           │                   └── ObjectServer.java
│           └── kotlin/
│               └── io/
│                   └── realm/
│                       └── buildtransformer/
│                           ├── DynamicClassLoader.kt
│                           └── VisitorTests.kt
├── mavencentral-properties.gradle
├── mavencentral-publications.gradle
├── mavencentral-publish.gradle
├── realm/
│   ├── build.gradle
│   ├── config/
│   │   ├── checkstyle/
│   │   │   ├── checkstyle-suppressions.xml
│   │   │   └── checkstyle.xml
│   │   ├── findbugs/
│   │   │   └── findbugs-filter.xml
│   │   ├── pmd/
│   │   │   └── ruleset.xml
│   │   └── studio/
│   │       ├── Realm-style.xml
│   │       └── Realm_lint.xml
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── kotlin-extensions/
│   │   ├── .gitignore
│   │   ├── build.gradle
│   │   ├── lib/
│   │   │   └── package-list.txt
│   │   ├── proguard-rules.pro
│   │   └── src/
│   │       ├── androidTest/
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── CoroutinesTests.kt
│   │       │               ├── KotlinRealmModelTests.kt
│   │       │               ├── KotlinRealmQueryTests.kt
│   │       │               ├── KotlinRealmTests.kt
│   │       │               └── entities/
│   │       │                   ├── AllPropTypesClass.kt
│   │       │                   ├── PrimaryKeyClass.kt
│   │       │                   └── SimpleClass.kt
│   │       ├── androidTestObjectServer/
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               └── kotlin/
│   │       │                   └── KotlinSyncedRealmTests.kt
│   │       ├── main/
│   │       │   ├── AndroidManifest.xml
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               └── kotlin/
│   │       │                   ├── DynamicRealmExtensions.kt
│   │       │                   ├── RealmExtensions.kt
│   │       │                   ├── RealmListExtensions.kt
│   │       │                   ├── RealmModelExtensions.kt
│   │       │                   ├── RealmObjectExtensions.kt
│   │       │                   ├── RealmQueryExtensions.kt
│   │       │                   └── RealmResultsExtensions.kt
│   │       └── objectServer/
│   │           └── kotlin/
│   │               └── io/
│   │                   └── realm/
│   │                       └── kotlin/
│   │                           └── SyncedRealmExtensions.kt
│   ├── realm-annotations-processor/
│   │   ├── build.gradle
│   │   └── src/
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── io/
│   │       │   │       └── realm/
│   │       │   │           └── processor/
│   │       │   │               ├── Backlink.kt
│   │       │   │               ├── ClassCollection.kt
│   │       │   │               ├── ClassMetaData.kt
│   │       │   │               ├── Constants.kt
│   │       │   │               ├── DefaultModuleGenerator.kt
│   │       │   │               ├── ModuleMetaData.kt
│   │       │   │               ├── OsObjectBuilderTypeHelper.kt
│   │       │   │               ├── RealmFieldElement.kt
│   │       │   │               ├── RealmJsonTypeHelper.kt
│   │       │   │               ├── RealmProcessor.kt
│   │       │   │               ├── RealmProxyClassGenerator.kt
│   │       │   │               ├── RealmProxyInterfaceGenerator.kt
│   │       │   │               ├── RealmProxyMediatorGenerator.kt
│   │       │   │               ├── RealmVersionChecker.kt
│   │       │   │               ├── TypeMirrors.kt
│   │       │   │               ├── Utils.kt
│   │       │   │               ├── ext/
│   │       │   │               │   └── JavaWriterExt.kt
│   │       │   │               └── nameconverter/
│   │       │   │                   ├── CamelCaseConverter.kt
│   │       │   │                   ├── IdentityConverter.kt
│   │       │   │                   ├── LowerCaseWithSeparatorConverter.kt
│   │       │   │                   ├── NameConverter.kt
│   │       │   │                   ├── PascalCaseConverter.kt
│   │       │   │                   └── WordTokenizer.kt
│   │       │   ├── resources/
│   │       │   │   └── META-INF/
│   │       │   │       ├── gradle/
│   │       │   │       │   └── incremental.annotation.processors
│   │       │   │       └── services/
│   │       │   │           └── javax.annotation.processing.Processor
│   │       │   └── templates/
│   │       │       └── Version.java
│   │       └── test/
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           └── processor/
│   │           │               ├── NameConverterTests.java
│   │           │               ├── RealmBacklinkProcessorTest.java
│   │           │               ├── RealmCounterProcessorTest.java
│   │           │               ├── RealmEmbeddedObjectsTest.java
│   │           │               ├── RealmNameTest.java
│   │           │               ├── RealmProcessorTest.java
│   │           │               ├── RealmSyntheticTestClass.java
│   │           │               └── ValueListProcessorTest.java
│   │           └── resources/
│   │               ├── io/
│   │               │   └── realm/
│   │               │       ├── DefaultRealmModule.java
│   │               │       ├── DefaultRealmModuleMediator.java
│   │               │       ├── some_test_AllTypesRealmProxy-pre-dictionary.java
│   │               │       ├── some_test_AllTypesRealmProxy.java
│   │               │       ├── some_test_BooleansRealmProxy.java
│   │               │       ├── some_test_EmbeddedClassRealmProxy.java
│   │               │       ├── some_test_EmbeddedClassSimpleParentRealmProxy.java
│   │               │       ├── some_test_NamePolicyMixedClassSettingsRealmProxy.java
│   │               │       ├── some_test_NamePolicyModuleDefaultsRealmProxy.java
│   │               │       ├── some_test_NullTypesRealmProxy.java
│   │               │       └── some_test_SimpleRealmProxy.java
│   │               └── some/
│   │                   └── test/
│   │                       ├── AllTypes.java
│   │                       ├── AppModuleAllClasses.java
│   │                       ├── AppModuleCustomClasses.java
│   │                       ├── BacklinkSelfReference.java
│   │                       ├── BacklinkSource.java
│   │                       ├── BacklinkTarget.java
│   │                       ├── Booleans.java
│   │                       ├── ConflictingFieldName.java
│   │                       ├── CustomAccessor.java
│   │                       ├── CustomInterface.java
│   │                       ├── EmbeddedClass.java
│   │                       ├── EmbeddedClassMissingFieldDescription.java
│   │                       ├── EmbeddedClassMissingFinalOnLinkingObjects.java
│   │                       ├── EmbeddedClassMultipleRequiredParents.java
│   │                       ├── EmbeddedClassOptionalParents.java
│   │                       ├── EmbeddedClassParent.java
│   │                       ├── EmbeddedClassPrimaryKey.java
│   │                       ├── EmbeddedClassRequiredParent.java
│   │                       ├── EmbeddedClassSimpleParent.java
│   │                       ├── EmbeddedObject.java
│   │                       ├── Empty.java
│   │                       ├── ExtendRealmList.java
│   │                       ├── FieldNames.java
│   │                       ├── FieldRealmResults.java
│   │                       ├── Final.java
│   │                       ├── InterfaceList.java
│   │                       ├── InterfaceObjectReference.java
│   │                       ├── InvalidAllTypesModuleMixedParameters.java
│   │                       ├── InvalidAllTypesModuleWrongType.java
│   │                       ├── InvalidLibraryModuleMixedParameters.java
│   │                       ├── InvalidLibraryModuleWrongType.java
│   │                       ├── InvalidListElementType.java
│   │                       ├── InvalidModelRealmModel_1.java
│   │                       ├── InvalidModelRealmModel_2.java
│   │                       ├── InvalidModelRealmModel_3.java
│   │                       ├── InvalidResultsElementType.java
│   │                       ├── LibraryModuleAllClasses.java
│   │                       ├── LibraryModuleCustomClasses.java
│   │                       ├── MissingGenericType.java
│   │                       ├── NamePolicyClassOnly.java
│   │                       ├── NamePolicyConflictingModuleDefinitionsForAllClasses.java
│   │                       ├── NamePolicyConflictingModuleDefinitionsForMixedDefinitions.java
│   │                       ├── NamePolicyConflictingModuleDefinitionsForNamedClasses.java
│   │                       ├── NamePolicyFieldNameOnly.java
│   │                       ├── NamePolicyMixedClassSettings.java
│   │                       ├── NamePolicyModule.java
│   │                       ├── NamePolicyModuleDefaults.java
│   │                       ├── NoAccessors.java
│   │                       ├── NullTypes.java
│   │                       ├── RealmDictionaryMissingGenerics.java
│   │                       ├── RealmDictionaryModel.java
│   │                       ├── RealmDictionaryModelRealmAnyRequired.java
│   │                       ├── RealmDictionaryModelRealmModelRequired.java
│   │                       ├── RealmDictionaryModelWrongType.java
│   │                       ├── RealmMapModel.java
│   │                       ├── RealmSetMissingGenerics.java
│   │                       ├── RealmSetModel.java
│   │                       ├── RealmSetModelWrongType.java
│   │                       ├── Simple.java
│   │                       ├── SimpleRealmModel.java
│   │                       ├── Transient.java
│   │                       ├── UseExtendRealmList.java
│   │                       ├── ValidModelRealmModel_ExtendingRealmObject.java
│   │                       ├── ValueList.java
│   │                       ├── Volatile.java
│   │                       ├── conflict/
│   │                       │   └── BacklinkSelfReference.java
│   │                       └── ÁrvíztűrőTükörfúrógép.java
│   ├── realm-library/
│   │   ├── build.gradle
│   │   ├── gradle.properties
│   │   ├── proguard-rules-build-common.pro
│   │   ├── proguard-rules-build-objectServer.pro
│   │   ├── proguard-rules-consumer-base.pro
│   │   ├── proguard-rules-consumer-common.pro
│   │   ├── proguard-rules-consumer-objectServer.pro
│   │   └── src/
│   │       ├── androidTest/
│   │       │   ├── AndroidManifest.xml
│   │       │   ├── assets/
│   │       │   │   ├── 080_annotationtypes.realm
│   │       │   │   ├── 0841_annotationtypes.realm
│   │       │   │   ├── 0841_pk_migration.realm
│   │       │   │   ├── all_simple_types.json
│   │       │   │   ├── all_types_invalid.json
│   │       │   │   ├── all_types_null.json
│   │       │   │   ├── all_types_primary_key_field_only.json
│   │       │   │   ├── all_types_primary_key_null.json
│   │       │   │   ├── array.json
│   │       │   │   ├── asset_file.realm
│   │       │   │   ├── backlinks-fieldInUse.realm
│   │       │   │   ├── core6_string_pk_indexed.realm
│   │       │   │   ├── date_as_iso8601_string.json
│   │       │   │   ├── date_as_long.json
│   │       │   │   ├── date_as_string.json
│   │       │   │   ├── decimal128_as_double.json
│   │       │   │   ├── decimal128_as_int.json
│   │       │   │   ├── decimal128_as_long.json
│   │       │   │   ├── decimal128_as_string.json
│   │       │   │   ├── default-notnullable-primarykey.realm
│   │       │   │   ├── default-nullable-primarykey.realm
│   │       │   │   ├── default0.realm
│   │       │   │   ├── empty.json
│   │       │   │   ├── ios/
│   │       │   │   │   ├── 0.98.0-alltypes-mix.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes-default-encrypted.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes-default.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes-max.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes-min.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes-null-value.realm
│   │       │   │   │   ├── 6.0.0-beta.2-alltypes.realm
│   │       │   │   │   └── README.md
│   │       │   │   ├── list_alltypes_primarykey.json
│   │       │   │   ├── mutablerealminteger-int.json
│   │       │   │   ├── mutablerealminteger-long.json
│   │       │   │   ├── mutablerealminteger-null.json
│   │       │   │   ├── mutablerealminteger-required-null.json
│   │       │   │   ├── nulltypes.json
│   │       │   │   ├── nulltypes_invalid.json
│   │       │   │   ├── objectid_as_string.json
│   │       │   │   ├── other_json_object.json
│   │       │   │   ├── readonly.realm
│   │       │   │   ├── realmlist.json
│   │       │   │   ├── realmlist_empty.json
│   │       │   │   ├── rename-and-add-indexed.realm
│   │       │   │   ├── rename-and-add.realm
│   │       │   │   ├── single_child_object.json
│   │       │   │   ├── string-only-pre-null-0.82.2.realm
│   │       │   │   ├── string-only-required-pre-null-0.82.2.realm
│   │       │   │   ├── unicode_codepoints.csv
│   │       │   │   └── uuid_as_string.json
│   │       │   ├── java/
│   │       │   │   ├── ThreadStressTests.java
│   │       │   │   └── io/
│   │       │   │       └── realm/
│   │       │   │           ├── BulkInsertTests.java
│   │       │   │           ├── CollectionTests.java
│   │       │   │           ├── ColumnInfoTests.java
│   │       │   │           ├── CustomRealmNameTests.java
│   │       │   │           ├── DynamicRealmAsyncQueryTests.kt
│   │       │   │           ├── DynamicRealmObjectTests.java
│   │       │   │           ├── DynamicRealmTests.java
│   │       │   │           ├── FrozenObjectsTests.java
│   │       │   │           ├── GCTests.java
│   │       │   │           ├── IOSRealmTests.java
│   │       │   │           ├── LinkingObjectsDynamicTests.java
│   │       │   │           ├── LinkingObjectsManagedTests.java
│   │       │   │           ├── LinkingObjectsQueryTests.java
│   │       │   │           ├── LinkingObjectsUnmanagedTests.java
│   │       │   │           ├── ManagedOrderedRealmCollectionTests.java
│   │       │   │           ├── ManagedRealmCollectionTests.java
│   │       │   │           ├── ManagedRealmListForValueTests.java
│   │       │   │           ├── ManagedRealmListForValue_toArrayTests.java
│   │       │   │           ├── MediatorTest.java
│   │       │   │           ├── MutableRealmIntegerTests.java
│   │       │   │           ├── NotificationsTest.java
│   │       │   │           ├── ObjectChangeSetTests.java
│   │       │   │           ├── OrderedCollectionChangeSetTests.java
│   │       │   │           ├── OrderedRealmCollectionIteratorTests.java
│   │       │   │           ├── OrderedRealmCollectionSnapshotTests.java
│   │       │   │           ├── OrderedRealmCollectionTests.java
│   │       │   │           ├── QueryTests.java
│   │       │   │           ├── RealmAnnotationTests.java
│   │       │   │           ├── RealmAsyncQueryTests.java
│   │       │   │           ├── RealmCacheTests.java
│   │       │   │           ├── RealmChangeListenerTests.java
│   │       │   │           ├── RealmCollectionTests.java
│   │       │   │           ├── RealmConfigurationTests.java
│   │       │   │           ├── RealmInMemoryTest.java
│   │       │   │           ├── RealmInterprocessTest.java
│   │       │   │           ├── RealmJsonAbsentPrimaryKeyTests.java
│   │       │   │           ├── RealmJsonNullPrimaryKeyTests.java
│   │       │   │           ├── RealmJsonTests.java
│   │       │   │           ├── RealmLinkTests.java
│   │       │   │           ├── RealmListTests.java
│   │       │   │           ├── RealmMigrationTests.java
│   │       │   │           ├── RealmModelTests.java
│   │       │   │           ├── RealmNullPrimaryKeyTests.java
│   │       │   │           ├── RealmObjectSchemaTests.java
│   │       │   │           ├── RealmObjectTests.java
│   │       │   │           ├── RealmPrimaryKeyTests.java
│   │       │   │           ├── RealmProxyMediatorTests.java
│   │       │   │           ├── RealmQueryTests.java
│   │       │   │           ├── RealmResultsTests.java
│   │       │   │           ├── RealmSchemaTests.java
│   │       │   │           ├── RealmTests.java
│   │       │   │           ├── RunTestInLooperThreadLifeCycleTest.java
│   │       │   │           ├── RxJavaTests.java
│   │       │   │           ├── SortTest.java
│   │       │   │           ├── TypeBasedNotificationsTests.java
│   │       │   │           ├── UTFStringsTests.java
│   │       │   │           ├── UnManagedOrderedRealmCollectionTests.java
│   │       │   │           ├── UnManagedRealmCollectionTests.java
│   │       │   │           ├── entities/
│   │       │   │           │   ├── AllJavaTypes.java
│   │       │   │           │   ├── AllJavaTypesUnsupportedTypes.java
│   │       │   │           │   ├── AnimalModule.java
│   │       │   │           │   ├── AnnotationNameConventions.java
│   │       │   │           │   ├── AnnotationTypes.java
│   │       │   │           │   ├── AssetFileModule.java
│   │       │   │           │   ├── CatOwner.java
│   │       │   │           │   ├── ConflictingFieldName.java
│   │       │   │           │   ├── CustomMethods.java
│   │       │   │           │   ├── CyclicType.java
│   │       │   │           │   ├── CyclicTypePrimaryKey.java
│   │       │   │           │   ├── DefaultValueConstructor.java
│   │       │   │           │   ├── DefaultValueFromOtherConstructor.java
│   │       │   │           │   ├── DefaultValueOfField.java
│   │       │   │           │   ├── DefaultValueOverwriteNullLink.java
│   │       │   │           │   ├── DefaultValueSetter.java
│   │       │   │           │   ├── FieldOrder.java
│   │       │   │           │   ├── HumanModule.java
│   │       │   │           │   ├── IOSAllTypes.java
│   │       │   │           │   ├── IOSChild.java
│   │       │   │           │   ├── IndexedFields.java
│   │       │   │           │   ├── MappedAllJavaTypes.java
│   │       │   │           │   ├── MutableRealmIntegerTypes.java
│   │       │   │           │   ├── NoPrimaryKeyNullTypes.java
│   │       │   │           │   ├── NoPrimaryKeyWithPrimaryKeyObjectRelation.java
│   │       │   │           │   ├── NonLatinFieldNames.java
│   │       │   │           │   ├── NullablePrimitiveFields.java
│   │       │   │           │   ├── Object4957.java
│   │       │   │           │   ├── ObjectIdPrimaryKey.java
│   │       │   │           │   ├── OwnerPrimaryKey.java
│   │       │   │           │   ├── PrimaryKeyAsObjectId.java
│   │       │   │           │   ├── PrimaryKeyMix.java
│   │       │   │           │   ├── PrimaryKeyRequiredAsString.java
│   │       │   │           │   ├── PrimaryKeyWithNoPrimaryKeyObjectRelation.java
│   │       │   │           │   ├── PrimitiveListTypes.java
│   │       │   │           │   ├── RandomPrimaryKey.java
│   │       │   │           │   ├── StringAndInt.java
│   │       │   │           │   ├── StringOnly.java
│   │       │   │           │   ├── StringOnlyModule.java
│   │       │   │           │   ├── StringOnlyReadOnly.java
│   │       │   │           │   ├── StringOnlyRequired.java
│   │       │   │           │   ├── Thread.java
│   │       │   │           │   ├── conflict/
│   │       │   │           │   │   ├── AllJavaTypes.java
│   │       │   │           │   │   ├── List.java
│   │       │   │           │   │   ├── Map.java
│   │       │   │           │   │   ├── String.java
│   │       │   │           │   │   └── package-info.java
│   │       │   │           │   ├── migration/
│   │       │   │           │   │   ├── HandleBackLinksChild1.java
│   │       │   │           │   │   ├── HandleBackLinksChild2.java
│   │       │   │           │   │   ├── HandleBackLinksParent1.java
│   │       │   │           │   │   ├── HandleBackLinksParent2.java
│   │       │   │           │   │   ├── MigrationClassRenamed.java
│   │       │   │           │   │   ├── MigrationCore6PKStringIndexedByDefault.java
│   │       │   │           │   │   ├── MigrationFieldRenameAndAdd.java
│   │       │   │           │   │   ├── MigrationFieldRenamed.java
│   │       │   │           │   │   ├── MigrationFieldTypeToInt.java
│   │       │   │           │   │   ├── MigrationFieldTypeToInteger.java
│   │       │   │           │   │   ├── MigrationIndexedFieldRenamed.java
│   │       │   │           │   │   ├── MigrationPosteriorIndexOnly.java
│   │       │   │           │   │   └── MigrationPriorIndexOnly.java
│   │       │   │           │   ├── pojo/
│   │       │   │           │   │   ├── AllTypesRealmModel.java
│   │       │   │           │   │   ├── InvalidRealmModel.java
│   │       │   │           │   │   ├── PojoWithRealmListOfRealmObject.java
│   │       │   │           │   │   ├── RealmModelWithRealmListOfRealmModel.java
│   │       │   │           │   │   ├── RealmModelWithRealmModelField.java
│   │       │   │           │   │   ├── RealmObjectWithRealmListOfRealmModel.java
│   │       │   │           │   │   └── RealmObjectWithRealmModelField.java
│   │       │   │           │   └── realmname/
│   │       │   │           │       ├── ClassNameOverrideModulePolicy.java
│   │       │   │           │       ├── ClassWithPolicy.java
│   │       │   │           │       ├── ClassWithValueDefinedNames.java
│   │       │   │           │       ├── CustomRealmNamesModule.java
│   │       │   │           │       ├── DefaultPolicyFromModule.java
│   │       │   │           │       └── FieldNameOverrideClassPolicy.java
│   │       │   │           ├── instrumentation/
│   │       │   │           │   ├── ActivityLifecycle.java
│   │       │   │           │   ├── Lifecycle.java
│   │       │   │           │   ├── LifecycleComponentFactory.java
│   │       │   │           │   └── package-info.java
│   │       │   │           ├── internal/
│   │       │   │           │   ├── AndroidCapabilitiesTest.java
│   │       │   │           │   ├── JNIColumnInfoTest.java
│   │       │   │           │   ├── JNINativeTest.java
│   │       │   │           │   ├── JNIQueryTest.java
│   │       │   │           │   ├── JNIRowTest.java
│   │       │   │           │   ├── JNITableInsertTest.java
│   │       │   │           │   ├── JNITableTest.java
│   │       │   │           │   ├── ObserverPairListTests.java
│   │       │   │           │   ├── OsListTests.java
│   │       │   │           │   ├── OsObjectStoreTests.java
│   │       │   │           │   ├── OsResultsTests.java
│   │       │   │           │   ├── OsSharedRealmTests.java
│   │       │   │           │   ├── PrimaryKeyTests.java
│   │       │   │           │   ├── RealmNotifierTests.java
│   │       │   │           │   ├── TableIndexAndDistinctTest.java
│   │       │   │           │   ├── android/
│   │       │   │           │   │   ├── ISO8601UtilsTest.java
│   │       │   │           │   │   └── JsonUtilsTest.java
│   │       │   │           │   └── test/
│   │       │   │           │       └── ExtraTests.java
│   │       │   │           ├── log/
│   │       │   │           │   └── RealmLogTests.java
│   │       │   │           ├── migration/
│   │       │   │           │   └── MigrationPrimaryKey.java
│   │       │   │           └── util/
│   │       │   │               ├── ExceptionHolder.java
│   │       │   │               ├── LooperSpy.java
│   │       │   │               ├── RealmBackgroundTask.java
│   │       │   │               └── RealmThread.java
│   │       │   ├── kotlin/
│   │       │   │   └── io/
│   │       │   │       └── realm/
│   │       │   │           ├── Decimal128Tests.kt
│   │       │   │           ├── DictionaryMiscTests.kt
│   │       │   │           ├── DictionaryTester.kt
│   │       │   │           ├── EmbeddedObjectsTest.kt
│   │       │   │           ├── GenericTester.kt
│   │       │   │           ├── KotlinSchemaTests.kt
│   │       │   │           ├── ManagedDictionaryTesters.kt
│   │       │   │           ├── ManagedSetTester.kt
│   │       │   │           ├── ModelDefaultValuesTests.kt
│   │       │   │           ├── NoPKRealmModelSetTester.kt
│   │       │   │           ├── NullMixedSetTester.kt
│   │       │   │           ├── ObjectIdTests.kt
│   │       │   │           ├── ParameterizedDictionaryTests.kt
│   │       │   │           ├── ParameterizedSetTests.kt
│   │       │   │           ├── RealmAnyCollectionTests.kt
│   │       │   │           ├── RealmModelManagedSetTester.kt
│   │       │   │           ├── SetMiscTests.kt
│   │       │   │           ├── UUIDTests.kt
│   │       │   │           ├── UnmanagedDictionaryTesters.kt
│   │       │   │           ├── UnmanagedSetTester.kt
│   │       │   │           ├── entities/
│   │       │   │           │   ├── DictionaryAllTypes.java
│   │       │   │           │   ├── DictionaryContainerClass.kt
│   │       │   │           │   ├── PopulatedDictionaryClass.kt
│   │       │   │           │   ├── RealmAnyDefaultNonPK.kt
│   │       │   │           │   ├── RealmAnyDefaultPK.kt
│   │       │   │           │   ├── RealmAnyIndexed.kt
│   │       │   │           │   ├── RealmAnyNotIndexed.kt
│   │       │   │           │   ├── RealmAnyNotIndexedWithPK.kt
│   │       │   │           │   ├── RealmAnyRealmListWithPK.kt
│   │       │   │           │   ├── SetAllTypes.java
│   │       │   │           │   ├── SetAllTypesPrimaryKey.java
│   │       │   │           │   ├── SetContainerClass.kt
│   │       │   │           │   └── embedded/
│   │       │   │           │       ├── EmbeddedSimpleChild.kt
│   │       │   │           │       ├── EmbeddedSimpleListParent.kt
│   │       │   │           │       ├── EmbeddedSimpleListParentWithoutPrimaryKey.kt
│   │       │   │           │       ├── EmbeddedSimpleParent.kt
│   │       │   │           │       ├── EmbeddedTreeLeaf.kt
│   │       │   │           │       ├── EmbeddedTreeNode.kt
│   │       │   │           │       ├── EmbeddedTreeParent.kt
│   │       │   │           │       ├── EmbeddedWithConstructorArgs.kt
│   │       │   │           │       └── SimpleEmbeddedObject.kt
│   │       │   │           └── realmany/
│   │       │   │               ├── DynamicRealmAnyTests.kt
│   │       │   │               ├── RealmAnyBulkInsertsTests.kt
│   │       │   │               ├── RealmAnyChangeListenerTests.kt
│   │       │   │               ├── RealmAnyHelper.kt
│   │       │   │               ├── RealmAnyParameterizedQueryTests.kt
│   │       │   │               ├── RealmAnyPrimitiveBulkInserts.kt
│   │       │   │               ├── RealmAnyQueryTests.kt
│   │       │   │               └── RealmAnyTests.kt
│   │       │   └── res/
│   │       │       └── xml/
│   │       │           └── network_security_config.xml
│   │       ├── androidTestObjectServer/
│   │       │   ├── assets/
│   │       │   │   ├── optionalsubscriptionfields.realm
│   │       │   │   ├── synced_realm_e873fb25-11ef-498f-9782-3c8e1cd2a12c_no_client_id.realm
│   │       │   │   └── versionTest.realm
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── ApiKeyAuthTests.kt
│   │       │               ├── AppConfigurationTests.kt
│   │       │               ├── AppTests.kt
│   │       │               ├── AppUserTests.java
│   │       │               ├── CredentialsTests.kt
│   │       │               ├── EmailPasswordAuthTests.kt
│   │       │               ├── FunctionsTests.kt
│   │       │               ├── ProgressListenerTests.kt
│   │       │               ├── SchemaTests.kt
│   │       │               ├── SyncedRealmMigrationTests.kt
│   │       │               ├── UserProfileInfoTests.kt
│   │       │               ├── admin/
│   │       │               │   └── ServerAdmin.kt
│   │       │               ├── entities/
│   │       │               │   ├── DefaultSyncSchema.kt
│   │       │               │   ├── DummySyncObject.kt
│   │       │               │   ├── FlexSyncColor.kt
│   │       │               │   ├── SyncAllTypes.kt
│   │       │               │   ├── SyncAllTypesSchema.kt
│   │       │               │   ├── SyncAllTypesWithFloat.kt
│   │       │               │   ├── SyncColor.kt
│   │       │               │   ├── SyncDog.kt
│   │       │               │   ├── SyncPerson.kt
│   │       │               │   ├── SyncSchemeMigration.kt
│   │       │               │   ├── SyncStringOnly.kt
│   │       │               │   └── SyncStringOnlyModule.kt
│   │       │               ├── internal/
│   │       │               │   ├── async/
│   │       │               │   │   ├── RealmResultTaskImplTest.kt
│   │       │               │   │   └── RealmStreamTaskImplTest.kt
│   │       │               │   └── network/
│   │       │               │       ├── LoggingInterceptorTest.kt
│   │       │               │       └── NetworkRequestTests.kt
│   │       │               ├── mongodb/
│   │       │               │   ├── AppExt.kt
│   │       │               │   ├── MongoClientTest.kt
│   │       │               │   ├── UserTests.kt
│   │       │               │   ├── push/
│   │       │               │   │   └── PushTest.kt
│   │       │               │   └── sync/
│   │       │               │       ├── FlexibleSyncConfigurationTests.kt
│   │       │               │       ├── FlexibleSyncIntegrationTests.kt
│   │       │               │       ├── MutableSubscriptionSetTests.kt
│   │       │               │       ├── ProgressTests.kt
│   │       │               │       ├── SSLConfigurationTests.kt
│   │       │               │       ├── SessionTests.kt
│   │       │               │       ├── SubscriptionSetTests.kt
│   │       │               │       ├── SubscriptionTests.kt
│   │       │               │       ├── SyncConfigurationTests.kt
│   │       │               │       ├── SyncExt.kt
│   │       │               │       ├── SyncSessionExt.kt
│   │       │               │       ├── SyncedRealmTests.kt
│   │       │               │       └── TrustManagerCertificateValidationTests.java
│   │       │               ├── transport/
│   │       │               │   ├── HttpNetworkTransportInterceptor.kt
│   │       │               │   ├── OkHttpNetworkTransportTests.kt
│   │       │               │   └── OsJavaNetworkTransportTests.kt
│   │       │               └── util/
│   │       │                   ├── KotlinTestUtils.kt
│   │       │                   ├── KotlinTestUtilsTests.kt
│   │       │                   └── mongodb/
│   │       │                       └── CustomType.java
│   │       ├── main/
│   │       │   ├── AndroidManifest.xml
│   │       │   ├── cpp/
│   │       │   │   ├── .clang-format
│   │       │   │   ├── CMakeLists.txt
│   │       │   │   ├── io_realm_RealmQuery.cpp
│   │       │   │   ├── io_realm_internal_CheckedRow.cpp
│   │       │   │   ├── io_realm_internal_NativeObjectReference.cpp
│   │       │   │   ├── io_realm_internal_OsCollectionChangeSet.cpp
│   │       │   │   ├── io_realm_internal_OsList.cpp
│   │       │   │   ├── io_realm_internal_OsMap.cpp
│   │       │   │   ├── io_realm_internal_OsMapChangeSet.cpp
│   │       │   │   ├── io_realm_internal_OsObject.cpp
│   │       │   │   ├── io_realm_internal_OsObjectSchemaInfo.cpp
│   │       │   │   ├── io_realm_internal_OsObjectStore.cpp
│   │       │   │   ├── io_realm_internal_OsRealmConfig.cpp
│   │       │   │   ├── io_realm_internal_OsResults.cpp
│   │       │   │   ├── io_realm_internal_OsSchemaInfo.cpp
│   │       │   │   ├── io_realm_internal_OsSet.cpp
│   │       │   │   ├── io_realm_internal_OsSharedRealm.cpp
│   │       │   │   ├── io_realm_internal_Property.cpp
│   │       │   │   ├── io_realm_internal_Table.cpp
│   │       │   │   ├── io_realm_internal_TableQuery.cpp
│   │       │   │   ├── io_realm_internal_TestUtil.cpp
│   │       │   │   ├── io_realm_internal_UncheckedRow.cpp
│   │       │   │   ├── io_realm_internal_Util.cpp
│   │       │   │   ├── io_realm_internal_core_NativeRealmAny.cpp
│   │       │   │   ├── io_realm_internal_core_NativeRealmAnyCollection.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsApp.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsAppCredentials.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsAsyncOpenTask.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsJavaNetworkTransport.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsKeyPathMapping.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsMongoClient.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsMongoCollection.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsMongoDatabase.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsMutableSubscriptionSet.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsObjectBuilder.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsPush.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsSubscription.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsSubscriptionSet.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsSyncUser.cpp
│   │       │   │   ├── io_realm_internal_objectstore_OsWatchStream.cpp
│   │       │   │   ├── io_realm_log_RealmLog.cpp
│   │       │   │   ├── io_realm_mongodb_ApiKeyAuthImpl.cpp
│   │       │   │   ├── io_realm_mongodb_EmailPasswordAuthImpl.cpp
│   │       │   │   ├── io_realm_mongodb_FunctionsImpl.cpp
│   │       │   │   ├── io_realm_mongodb_User.cpp
│   │       │   │   ├── io_realm_mongodb_mongo_iterable_AggregateIterable.cpp
│   │       │   │   ├── io_realm_mongodb_mongo_iterable_FindIterable.cpp
│   │       │   │   ├── io_realm_mongodb_sync_ClientResetRequiredError.cpp
│   │       │   │   ├── io_realm_mongodb_sync_Sync.cpp
│   │       │   │   ├── io_realm_mongodb_sync_SyncSession.cpp
│   │       │   │   ├── java_accessor.hpp
│   │       │   │   ├── java_binding_context.cpp
│   │       │   │   ├── java_binding_context.hpp
│   │       │   │   ├── java_class_global_def.cpp
│   │       │   │   ├── java_class_global_def.hpp
│   │       │   │   ├── java_exception_def.cpp
│   │       │   │   ├── java_exception_def.hpp
│   │       │   │   ├── java_network_transport.hpp
│   │       │   │   ├── java_object_accessor.hpp
│   │       │   │   ├── java_query_descriptor.cpp
│   │       │   │   ├── java_query_descriptor.hpp
│   │       │   │   ├── jni_impl/
│   │       │   │   │   ├── android_logger.cpp
│   │       │   │   │   └── android_logger.hpp
│   │       │   │   ├── jni_util/
│   │       │   │   │   ├── bson_util.cpp
│   │       │   │   │   ├── bson_util.hpp
│   │       │   │   │   ├── hack.cpp
│   │       │   │   │   ├── hack.hpp
│   │       │   │   │   ├── java_class.cpp
│   │       │   │   │   ├── java_class.hpp
│   │       │   │   │   ├── java_exception_thrower.cpp
│   │       │   │   │   ├── java_exception_thrower.hpp
│   │       │   │   │   ├── java_global_ref_by_copy.cpp
│   │       │   │   │   ├── java_global_ref_by_copy.hpp
│   │       │   │   │   ├── java_global_ref_by_move.cpp
│   │       │   │   │   ├── java_global_ref_by_move.hpp
│   │       │   │   │   ├── java_global_weak_ref.cpp
│   │       │   │   │   ├── java_global_weak_ref.hpp
│   │       │   │   │   ├── java_local_ref.hpp
│   │       │   │   │   ├── java_method.cpp
│   │       │   │   │   ├── java_method.hpp
│   │       │   │   │   ├── jni_utils.cpp
│   │       │   │   │   ├── jni_utils.hpp
│   │       │   │   │   ├── log.cpp
│   │       │   │   │   └── log.hpp
│   │       │   │   ├── observable_collection_wrapper.hpp
│   │       │   │   ├── observable_dictionary_wrapper.hpp
│   │       │   │   ├── subscription_wrapper.hpp
│   │       │   │   ├── utf8.hpp
│   │       │   │   ├── util.cpp
│   │       │   │   └── util.hpp
│   │       │   └── java/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── BaseRealm.java
│   │       │               ├── Case.java
│   │       │               ├── CollectionUtils.java
│   │       │               ├── CompactOnLaunchCallback.java
│   │       │               ├── DefaultCompactOnLaunchCallback.java
│   │       │               ├── DynamicRealm.java
│   │       │               ├── DynamicRealmObject.java
│   │       │               ├── FieldAttribute.java
│   │       │               ├── FrozenPendingRow.java
│   │       │               ├── ImmutableRealmObjectSchema.java
│   │       │               ├── ImmutableRealmSchema.java
│   │       │               ├── ImportFlag.java
│   │       │               ├── ManagedListOperator.java
│   │       │               ├── ManagedMapManager.java
│   │       │               ├── MapChangeListener.java
│   │       │               ├── MapChangeSet.java
│   │       │               ├── MutableRealmInteger.java
│   │       │               ├── MutableRealmObjectSchema.java
│   │       │               ├── MutableRealmSchema.java
│   │       │               ├── ObjectChangeSet.java
│   │       │               ├── OrderedCollectionChangeSet.java
│   │       │               ├── OrderedRealmCollection.java
│   │       │               ├── OrderedRealmCollectionChangeListener.java
│   │       │               ├── OrderedRealmCollectionImpl.java
│   │       │               ├── OrderedRealmCollectionSnapshot.java
│   │       │               ├── ProxyState.java
│   │       │               ├── ProxyUtils.java
│   │       │               ├── Realm.java
│   │       │               ├── RealmAny.java
│   │       │               ├── RealmAnyNativeFunctionsImpl.java
│   │       │               ├── RealmAnyOperator.java
│   │       │               ├── RealmAsyncTask.java
│   │       │               ├── RealmCache.java
│   │       │               ├── RealmChangeListener.java
│   │       │               ├── RealmCollection.java
│   │       │               ├── RealmConfiguration.java
│   │       │               ├── RealmDictionary.java
│   │       │               ├── RealmFieldType.java
│   │       │               ├── RealmList.java
│   │       │               ├── RealmMap.java
│   │       │               ├── RealmMapEntrySet.java
│   │       │               ├── RealmMigration.java
│   │       │               ├── RealmModel.java
│   │       │               ├── RealmObject.java
│   │       │               ├── RealmObjectChangeListener.java
│   │       │               ├── RealmObjectSchema.java
│   │       │               ├── RealmQuery.java
│   │       │               ├── RealmResults.java
│   │       │               ├── RealmSchema.java
│   │       │               ├── RealmSet.java
│   │       │               ├── SetChangeListener.java
│   │       │               ├── SetChangeSet.java
│   │       │               ├── SetValueOperator.java
│   │       │               ├── Sort.java
│   │       │               ├── TypeSelectorForMap.java
│   │       │               ├── coroutines/
│   │       │               │   ├── FlowFactory.java
│   │       │               │   └── RealmFlowFactory.java
│   │       │               ├── exceptions/
│   │       │               │   ├── RealmError.java
│   │       │               │   ├── RealmException.java
│   │       │               │   ├── RealmFileException.java
│   │       │               │   ├── RealmMigrationNeededException.java
│   │       │               │   ├── RealmPrimaryKeyConstraintException.java
│   │       │               │   └── package-info.java
│   │       │               ├── internal/
│   │       │               │   ├── Capabilities.java
│   │       │               │   ├── CheckedRow.java
│   │       │               │   ├── ColumnIndices.java
│   │       │               │   ├── ColumnInfo.java
│   │       │               │   ├── EmptyLoadChangeSet.java
│   │       │               │   ├── FinalizerRunnable.java
│   │       │               │   ├── Freezable.java
│   │       │               │   ├── IOException.java
│   │       │               │   ├── IdentitySet.java
│   │       │               │   ├── InvalidRow.java
│   │       │               │   ├── Keep.java
│   │       │               │   ├── KeepMember.java
│   │       │               │   ├── ManageableObject.java
│   │       │               │   ├── NativeContext.java
│   │       │               │   ├── NativeObject.java
│   │       │               │   ├── NativeObjectReference.java
│   │       │               │   ├── ObjectServerFacade.java
│   │       │               │   ├── ObservableCollection.java
│   │       │               │   ├── ObservableMap.java
│   │       │               │   ├── ObservableSet.java
│   │       │               │   ├── ObserverPairList.java
│   │       │               │   ├── OsCollection.java
│   │       │               │   ├── OsCollectionChangeSet.java
│   │       │               │   ├── OsList.java
│   │       │               │   ├── OsMap.java
│   │       │               │   ├── OsMapChangeSet.java
│   │       │               │   ├── OsObject.java
│   │       │               │   ├── OsObjectSchemaInfo.java
│   │       │               │   ├── OsObjectStore.java
│   │       │               │   ├── OsRealmConfig.java
│   │       │               │   ├── OsResults.java
│   │       │               │   ├── OsSchemaInfo.java
│   │       │               │   ├── OsSet.java
│   │       │               │   ├── OsSharedRealm.java
│   │       │               │   ├── PendingRow.java
│   │       │               │   ├── Property.java
│   │       │               │   ├── RealmAnyNativeFunctions.java
│   │       │               │   ├── RealmCore.java
│   │       │               │   ├── RealmNotifier.java
│   │       │               │   ├── RealmObjectProxy.java
│   │       │               │   ├── RealmProxyMediator.java
│   │       │               │   ├── Row.java
│   │       │               │   ├── StatefulCollectionChangeSet.java
│   │       │               │   ├── Table.java
│   │       │               │   ├── TableQuery.java
│   │       │               │   ├── TestUtil.java
│   │       │               │   ├── UncheckedRow.java
│   │       │               │   ├── UnmanagedSubscription.java
│   │       │               │   ├── Util.java
│   │       │               │   ├── android/
│   │       │               │   │   ├── AndroidCapabilities.java
│   │       │               │   │   ├── AndroidRealmNotifier.java
│   │       │               │   │   ├── ISO8601Utils.java
│   │       │               │   │   ├── JsonUtils.java
│   │       │               │   │   ├── TypeUtils.java
│   │       │               │   │   └── package-info.java
│   │       │               │   ├── annotations/
│   │       │               │   │   └── ObjectServer.java
│   │       │               │   ├── async/
│   │       │               │   │   ├── BadVersionException.java
│   │       │               │   │   ├── BgPriorityCallable.java
│   │       │               │   │   ├── BgPriorityRunnable.java
│   │       │               │   │   ├── RealmAsyncTaskImpl.java
│   │       │               │   │   └── RealmThreadPoolExecutor.java
│   │       │               │   ├── coroutines/
│   │       │               │   │   └── InternalFlowFactory.kt
│   │       │               │   ├── modules/
│   │       │               │   │   ├── CompositeMediator.java
│   │       │               │   │   ├── FilterableMediator.java
│   │       │               │   │   └── package-info.java
│   │       │               │   ├── objectstore/
│   │       │               │   │   ├── OsKeyPathMapping.java
│   │       │               │   │   ├── OsMutableSubscriptionSet.java
│   │       │               │   │   ├── OsObjectBuilder.java
│   │       │               │   │   ├── OsSubscription.java
│   │       │               │   │   └── OsSubscriptionSet.java
│   │       │               │   ├── package-info.java
│   │       │               │   └── util/
│   │       │               │       └── Pair.java
│   │       │               ├── log/
│   │       │               │   ├── LogLevel.java
│   │       │               │   ├── RealmLog.java
│   │       │               │   ├── RealmLogger.java
│   │       │               │   └── package-info.java
│   │       │               ├── mongodb/
│   │       │               │   └── sync/
│   │       │               │       ├── MutableSubscriptionSet.java
│   │       │               │       ├── Subscription.java
│   │       │               │       └── SubscriptionSet.java
│   │       │               ├── package-info.java
│   │       │               └── rx/
│   │       │                   ├── CollectionChange.java
│   │       │                   ├── ObjectChange.java
│   │       │                   ├── RealmObservableFactory.java
│   │       │                   ├── RxObservableFactory.java
│   │       │                   └── package-info.java
│   │       ├── objectServer/
│   │       │   ├── AndroidManifest.xml
│   │       │   └── java/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── exceptions/
│   │       │               │   └── DownloadingRealmInterruptedException.java
│   │       │               ├── internal/
│   │       │               │   ├── ErrorCategory.java
│   │       │               │   ├── SyncObjectServerFacade.java
│   │       │               │   ├── async/
│   │       │               │   │   ├── RealmEventStreamAsyncTaskImpl.java
│   │       │               │   │   ├── RealmEventStreamTaskImpl.java
│   │       │               │   │   ├── RealmResultTaskImpl.java
│   │       │               │   │   └── package-info.java
│   │       │               │   ├── events/
│   │       │               │   │   ├── ChangeEvent.java
│   │       │               │   │   ├── NetworkEventStream.java
│   │       │               │   │   └── package-info.java
│   │       │               │   ├── jni/
│   │       │               │   │   └── JniBsonProtocol.java
│   │       │               │   ├── log/
│   │       │               │   │   └── obfuscator/
│   │       │               │   │       ├── ApiKeyObfuscator.java
│   │       │               │   │       ├── CustomFunctionObfuscator.java
│   │       │               │   │       ├── EmailPasswordObfuscator.java
│   │       │               │   │       ├── RegexPatternObfuscator.java
│   │       │               │   │       └── TokenObfuscator.java
│   │       │               │   ├── mongodb/
│   │       │               │   │   └── Request.java
│   │       │               │   ├── network/
│   │       │               │   │   ├── LoggingInterceptor.java
│   │       │               │   │   ├── MockableNetworkTransport.java
│   │       │               │   │   ├── NetworkRequest.java
│   │       │               │   │   ├── NetworkStateReceiver.java
│   │       │               │   │   ├── OkHttpNetworkTransport.java
│   │       │               │   │   ├── StreamNetworkTransport.java
│   │       │               │   │   └── VoidNetworkRequest.java
│   │       │               │   ├── objectserver/
│   │       │               │   │   ├── EventStream.java
│   │       │               │   │   ├── SyncWorker.java
│   │       │               │   │   └── Token.java
│   │       │               │   └── objectstore/
│   │       │               │       ├── OsApp.java
│   │       │               │       ├── OsAppCredentials.java
│   │       │               │       ├── OsAsyncOpenTask.java
│   │       │               │       ├── OsJavaNetworkTransport.java
│   │       │               │       ├── OsMongoClient.java
│   │       │               │       ├── OsMongoCollection.java
│   │       │               │       ├── OsMongoDatabase.java
│   │       │               │       ├── OsPush.java
│   │       │               │       ├── OsSyncUser.java
│   │       │               │       ├── OsWatchStream.java
│   │       │               │       └── package-info.java
│   │       │               └── mongodb/
│   │       │                   ├── ApiKeyAuthImpl.java
│   │       │                   ├── App.java
│   │       │                   ├── AppConfiguration.java
│   │       │                   ├── AppException.java
│   │       │                   ├── AuthenticationListener.java
│   │       │                   ├── Credentials.java
│   │       │                   ├── EmailPasswordAuthImpl.java
│   │       │                   ├── ErrorCode.java
│   │       │                   ├── FunctionsImpl.java
│   │       │                   ├── RealmEventStreamAsyncTask.java
│   │       │                   ├── RealmEventStreamTask.java
│   │       │                   ├── RealmResultTask.java
│   │       │                   ├── User.java
│   │       │                   ├── UserIdentity.java
│   │       │                   ├── UserProfile.java
│   │       │                   ├── auth/
│   │       │                   │   ├── ApiKey.java
│   │       │                   │   ├── ApiKeyAuth.java
│   │       │                   │   ├── EmailPasswordAuth.java
│   │       │                   │   └── GoogleAuthType.java
│   │       │                   ├── functions/
│   │       │                   │   └── Functions.java
│   │       │                   ├── log/
│   │       │                   │   └── obfuscator/
│   │       │                   │       └── HttpLogObfuscator.java
│   │       │                   ├── mongo/
│   │       │                   │   ├── MongoClient.java
│   │       │                   │   ├── MongoCollection.java
│   │       │                   │   ├── MongoDatabase.java
│   │       │                   │   ├── MongoNamespace.java
│   │       │                   │   ├── events/
│   │       │                   │   │   ├── BaseChangeEvent.java
│   │       │                   │   │   └── UpdateDescription.java
│   │       │                   │   ├── iterable/
│   │       │                   │   │   ├── AggregateIterable.java
│   │       │                   │   │   ├── FindIterable.java
│   │       │                   │   │   ├── MongoCursor.java
│   │       │                   │   │   └── MongoIterable.java
│   │       │                   │   ├── options/
│   │       │                   │   │   ├── CountOptions.java
│   │       │                   │   │   ├── FindOneAndModifyOptions.java
│   │       │                   │   │   ├── FindOptions.java
│   │       │                   │   │   ├── InsertManyResult.java
│   │       │                   │   │   └── UpdateOptions.java
│   │       │                   │   └── result/
│   │       │                   │       ├── DeleteResult.java
│   │       │                   │       ├── InsertOneResult.java
│   │       │                   │       └── UpdateResult.java
│   │       │                   ├── push/
│   │       │                   │   └── Push.java
│   │       │                   └── sync/
│   │       │                       ├── AutomaticClientResetStrategy.java
│   │       │                       ├── ClientResetRequiredError.java
│   │       │                       ├── ConnectionListener.java
│   │       │                       ├── ConnectionState.java
│   │       │                       ├── DiscardUnsyncedChangesStrategy.java
│   │       │                       ├── ManuallyRecoverUnsyncedChangesStrategy.java
│   │       │                       ├── Progress.java
│   │       │                       ├── ProgressListener.java
│   │       │                       ├── ProgressMode.java
│   │       │                       ├── RecoverOrDiscardUnsyncedChangesStrategy.java
│   │       │                       ├── RecoverUnsyncedChangesStrategy.java
│   │       │                       ├── Sync.java
│   │       │                       ├── SyncClientResetStrategy.java
│   │       │                       ├── SyncConfiguration.java
│   │       │                       ├── SyncSession.java
│   │       │                       └── package-info.java
│   │       ├── overview.html
│   │       ├── syncIntegrationTest/
│   │       │   ├── assets/
│   │       │   │   ├── trusted_ca.pem
│   │       │   │   └── untrusted_ca.pem
│   │       │   ├── java/
│   │       │   │   └── io/
│   │       │   │       └── realm/
│   │       │   │           ├── BaseIntegrationTest.java
│   │       │   │           ├── IsolatedIntegrationTests.java
│   │       │   │           ├── StandardIntegrationTest.java
│   │       │   │           └── objectserver/
│   │       │   │               ├── ProcessCommitTests.java
│   │       │   │               ├── model/
│   │       │   │               │   ├── PartialSyncModule.java
│   │       │   │               │   ├── PartialSyncObjectA.java
│   │       │   │               │   ├── PartialSyncObjectB.java
│   │       │   │               │   ├── ProcessInfo.java
│   │       │   │               │   └── TestObject.java
│   │       │   │               ├── package-info.java
│   │       │   │               └── utils/
│   │       │   │                   ├── HttpUtils.java
│   │       │   │                   └── RemoteIntegrationTestService.java
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── EncryptedSynchronizedRealmTests.kt
│   │       │               ├── SyncSessionTests.kt
│   │       │               └── SyncedRealmIntegrationTests.kt
│   │       ├── syncTestUtils/
│   │       │   ├── java/
│   │       │   │   └── io/
│   │       │   │       └── realm/
│   │       │   │           └── objectserver/
│   │       │   │               └── utils/
│   │       │   │                   ├── Constants.java
│   │       │   │                   ├── UserFactory.java
│   │       │   │                   └── UserFactoryStore.java
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── RealmExt.kt
│   │       │               ├── TestApp.kt
│   │       │               ├── TestSyncConfigurationFactory.kt
│   │       │               └── mongodb/
│   │       │                   ├── SyncTestUtils.kt
│   │       │                   └── sync/
│   │       │                       └── SyncConfigurationExt.kt
│   │       ├── testObjectServer/
│   │       │   └── kotlin/
│   │       │       └── io/
│   │       │           └── realm/
│   │       │               ├── ObfuscatorHelper.kt
│   │       │               ├── internal/
│   │       │               │   └── log/
│   │       │               │       └── obfuscator/
│   │       │               │           ├── ApiKeyObfuscatorTest.kt
│   │       │               │           ├── CustomFunctionObfuscatorTest.kt
│   │       │               │           ├── EmailPasswordObfuscatorTest.kt
│   │       │               │           └── TokenObfuscatorTest.kt
│   │       │               └── mongodb/
│   │       │                   └── log/
│   │       │                       └── obfuscator/
│   │       │                           └── HttpLogObfuscatorTest.kt
│   │       └── testUtils/
│   │           ├── java/
│   │           │   └── io/
│   │           │       └── realm/
│   │           │           ├── TestHelper.java
│   │           │           ├── TestRealmConfigurationFactory.java
│   │           │           ├── entities/
│   │           │           │   ├── AllTypes.java
│   │           │           │   ├── AllTypesModelModule.java
│   │           │           │   ├── AllTypesPrimaryKey.java
│   │           │           │   ├── AnnotationIndexTypes.java
│   │           │           │   ├── BacklinkWithOverridenNames.java
│   │           │           │   ├── BacklinksSource.java
│   │           │           │   ├── BacklinksTarget.java
│   │           │           │   ├── Cat.java
│   │           │           │   ├── Dog.java
│   │           │           │   ├── DogPrimaryKey.java
│   │           │           │   ├── KeywordFieldNames.java
│   │           │           │   ├── NullTypes.java
│   │           │           │   ├── Owner.java
│   │           │           │   ├── PrimaryKeyAsBoxedByte.java
│   │           │           │   ├── PrimaryKeyAsBoxedInteger.java
│   │           │           │   ├── PrimaryKeyAsBoxedLong.java
│   │           │           │   ├── PrimaryKeyAsBoxedShort.java
│   │           │           │   ├── PrimaryKeyAsByte.java
│   │           │           │   ├── PrimaryKeyAsInteger.java
│   │           │           │   ├── PrimaryKeyAsLong.java
│   │           │           │   ├── PrimaryKeyAsShort.java
│   │           │           │   ├── PrimaryKeyAsString.java
│   │           │           │   ├── PrimaryKeyAsUUID.java
│   │           │           │   ├── PrimaryKeyRequiredAsBoxedByte.java
│   │           │           │   ├── PrimaryKeyRequiredAsBoxedInteger.java
│   │           │           │   ├── PrimaryKeyRequiredAsBoxedLong.java
│   │           │           │   ├── PrimaryKeyRequiredAsBoxedShort.java
│   │           │           │   └── SyncByteArray.java
│   │           │           ├── objectid/
│   │           │           │   └── NullPrimaryKey.java
│   │           │           ├── rule/
│   │           │           │   ├── RunInLooperThread.java
│   │           │           │   ├── RunTestInLooperThread.java
│   │           │           │   ├── RunTestWithRemoteService.java
│   │           │           │   └── RunWithRemoteService.java
│   │           │           └── services/
│   │           │               ├── RemoteProcessService.java
│   │           │               └── RemoteTestService.java
│   │           └── kotlin/
│   │               └── io/
│   │                   └── realm/
│   │                       ├── entities/
│   │                       │   └── AllKotlinTypes.kt
│   │                       └── rule/
│   │                           └── BlockingLooperThread.kt
│   ├── settings.gradle
│   ├── templates/
│   │   ├── README.md
│   │   └── redirect.html.template
│   └── tools/
│       ├── backlink-ut-source/
│       │   ├── missingField/
│       │   │   ├── source/
│       │   │   │   └── io/
│       │   │   │       └── realm/
│       │   │   │           └── entities/
│       │   │   │               ├── BacklinksMissingFieldSource.java
│       │   │   │               ├── BacklinksMissingFieldSourceModule.java
│       │   │   │               ├── BacklinksMissingFieldTarget.java
│       │   │   │               └── BacklinksMissingFieldTargetModule.java
│       │   │   └── target/
│       │   │       └── io/
│       │   │           └── realm/
│       │   │               └── entities/
│       │   │                   ├── BacklinksMissingFieldSource.java
│       │   │                   ├── BacklinksMissingFieldSourceModule.java
│       │   │                   ├── BacklinksMissingFieldTarget.java
│       │   │                   └── BacklinksMissingFieldTargetModule.java
│       │   └── wrongType/
│       │       ├── source/
│       │       │   └── io/
│       │       │       └── realm/
│       │       │           └── entities/
│       │       │               ├── BacklinksWrongTypeSource.java
│       │       │               ├── BacklinksWrongTypeSourceModule.java
│       │       │               ├── BacklinksWrongTypeTarget.java
│       │       │               └── BacklinksWrongTypeTargetModule.java
│       │       └── target/
│       │           └── io/
│       │               └── realm/
│       │                   └── entities/
│       │                       ├── BacklinksWrongTypeSource.java
│       │                       ├── BacklinksWrongTypeSourceModule.java
│       │                       ├── BacklinksWrongTypeTarget.java
│       │                       └── BacklinksWrongTypeTargetModule.java
│       └── bin/
│           └── cgen
├── realm-annotations/
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle
│   └── src/
│       └── main/
│           └── java/
│               └── io/
│                   └── realm/
│                       └── annotations/
│                           ├── Beta.java
│                           ├── Ignore.java
│                           ├── Index.java
│                           ├── LinkingObjects.java
│                           ├── PrimaryKey.java
│                           ├── RealmClass.java
│                           ├── RealmField.java
│                           ├── RealmModule.java
│                           ├── RealmNamingPolicy.java
│                           └── Required.java
├── realm-transformer/
│   ├── build.gradle
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── settings.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── io/
│       │   │       └── realm/
│       │   │           ├── gradle/
│       │   │           │   └── RealmPluginExtension.java
│       │   │           └── transformer/
│       │   │               └── Utils.java
│       │   ├── kotlin/
│       │   │   └── io/
│       │   │       └── realm/
│       │   │           ├── analytics/
│       │   │           │   ├── AnalyticsData.kt
│       │   │           │   ├── ComputerIdentifierGenerator.kt
│       │   │           │   ├── RealmAnalytics.kt
│       │   │           │   └── UrlEncodedAnalytics.kt
│       │   │           └── transformer/
│       │   │               ├── ByteCodeModifier.kt
│       │   │               ├── ManagedClassPool.kt
│       │   │               ├── RealmTransformer.kt
│       │   │               ├── Stopwatch.kt
│       │   │               ├── build/
│       │   │               │   ├── BuildTemplate.kt
│       │   │               │   ├── FullBuild.kt
│       │   │               │   └── IncrementalBuild.kt
│       │   │               └── ext/
│       │   │                   ├── CtClassExt.kt
│       │   │                   └── ProjectExt.kt
│       │   └── templates/
│       │       └── Version.java
│       └── test/
│           └── kotlin/
│               └── io/
│                   └── realm/
│                       └── transformer/
│                           └── ByteCodeModifierTest.kt
├── settings.gradle
├── tools/
│   ├── analyze_realm_metrics.sh
│   ├── build-id.py
│   ├── buildids.txt
│   ├── fix-h1s.sh
│   ├── publish_release.sh
│   ├── realm-cli.sh
│   ├── release.sh
│   ├── sync_test_server/
│   │   ├── Dockerfile
│   │   ├── app_config_generator.sh
│   │   ├── app_template/
│   │   │   ├── auth_providers/
│   │   │   │   ├── anon-user.json
│   │   │   │   ├── api-key.json
│   │   │   │   ├── custom-function.json
│   │   │   │   └── local-userpass.json
│   │   │   ├── config.json
│   │   │   ├── functions/
│   │   │   │   ├── authFunc/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── authorizedOnly/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── canReadPartition/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── canWritePartition/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── confirmFunc/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── error/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── firstArg/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── null/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── resetFunc/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── sum/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── testAuthFunc/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   ├── triggerClientReset/
│   │   │   │   │   ├── config.json
│   │   │   │   │   └── source.js
│   │   │   │   └── void/
│   │   │   │       ├── config.json
│   │   │   │       └── source.js
│   │   │   ├── graphql/
│   │   │   │   └── config.json
│   │   │   ├── secrets.json
│   │   │   └── services/
│   │   │       ├── BackingDB/
│   │   │       │   ├── config.json
│   │   │       │   └── rules/
│   │   │       │       ├── test_data.EmbeddedSimpleParent.json
│   │   │       │       ├── test_data.FlexSyncColor.json
│   │   │       │       ├── test_data.SyncColor.json
│   │   │       │       ├── test_data.SyncDog.json
│   │   │       │       ├── test_data.SyncPerson.json
│   │   │       │       ├── test_data.custom_user_data.json
│   │   │       │       ├── test_data.mongo_data.json
│   │   │       │       └── test_data.mongo_data_alt.json
│   │   │       └── gcm/
│   │   │           └── config.json
│   │   ├── bind_android_ports.sh
│   │   ├── keys/
│   │   │   ├── HowToGenerateKey.txt
│   │   │   ├── android_test_certificate.crt
│   │   │   ├── private.pem
│   │   │   ├── public.pem
│   │   │   └── test_token.json
│   │   ├── mongodb-realm-command-server.js
│   │   ├── start_local_server.sh
│   │   ├── start_server.sh
│   │   ├── stop_local_server.sh
│   │   └── stop_server.sh
│   ├── unroll_stacktrace.sh
│   └── update_gradle_wrapper.sh
└── version.txt
Download .txt
Showing preview only (978K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (11653 symbols across 721 files)

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/ArchExampleActivity.java
  class ArchExampleActivity (line 24) | public class ArchExampleActivity extends AppCompatActivity {
    method onCreate (line 29) | @Override
    method onRetainCustomNonConfigurationInstance (line 51) | @Override
    method onDestroy (line 56) | @Override
    method onBackPressed (line 66) | @Override
    method setupViews (line 75) | @MainThread
    method updateJobButton (line 88) | private void updateJobButton() {

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/BackgroundTask.java
  class BackgroundTask (line 29) | public class BackgroundTask {
    method isStarted (line 38) | @MainThread
    method start (line 43) | @MainThread
    method stop (line 56) | @MainThread
    class IncrementThread (line 67) | private static final class IncrementThread extends Thread {
      method IncrementThread (line 68) | IncrementThread() {
      method run (line 72) | @Override

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/CustomApplication.java
  class CustomApplication (line 27) | public class CustomApplication extends Application {
    method onCreate (line 29) | @Override

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/PersonFragment.java
  class PersonFragment (line 30) | public class PersonFragment extends Fragment {
    method create (line 33) | public static PersonFragment create(String personName) {
    method onCreate (line 46) | @Override
    method onCreateView (line 73) | @Nullable
    method onViewCreated (line 79) | @Override

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/PersonListFragment.java
  class PersonListFragment (line 38) | public class PersonListFragment extends Fragment {
    method create (line 39) | public static PersonListFragment create() {
    method onCreate (line 49) | @Override
    method onCreateView (line 63) | @Nullable
    method onViewCreated (line 69) | @Override
    class Adapter (line 79) | static class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder> {
      method Adapter (line 82) | public Adapter(List<Person> persons) {
      method onCreateViewHolder (line 86) | @Override
      method onBindViewHolder (line 91) | @Override
      method getItemCount (line 96) | @Override
      method updateItems (line 101) | public void updateItems(List<Person> persons) {
      class ViewHolder (line 106) | static class ViewHolder extends RecyclerView.ViewHolder {
        method ViewHolder (line 126) | public ViewHolder(View itemView) {
        method bind (line 133) | public void bind(Person person) {

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/PersonListViewModel.java
  class PersonListViewModel (line 27) | public class PersonListViewModel extends ViewModel {
    method PersonListViewModel (line 31) | public PersonListViewModel() {
    method getPersons (line 36) | public LiveData<List<Person>> getPersons() {
    method onCleared (line 40) | @Override

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/PersonViewModel.java
  class PersonViewModel (line 27) | public class PersonViewModel extends ViewModel {
    method PersonViewModel (line 32) | public PersonViewModel() {
    method getPerson (line 36) | public LiveData<Person> getPerson() {
    method onCleared (line 40) | @Override
    method setup (line 46) | public void setup(String personName) {

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/livemodel/LiveRealmObject.java
  class LiveRealmObject (line 42) | public class LiveRealmObject<T extends RealmModel> extends LiveData<T> {
    method onChange (line 46) | @Override
    method LiveRealmObject (line 63) | @MainThread
    method onActive (line 85) | @Override
    method onInactive (line 97) | @Override

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/livemodel/LiveRealmResults.java
  class LiveRealmResults (line 42) | public class LiveRealmResults<T extends RealmModel> extends LiveData<Lis...
    method onChange (line 48) | @Override
    method LiveRealmResults (line 54) | @MainThread
    method onActive (line 76) | @Override
    method onInactive (line 87) | @Override

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/model/Person.java
  class Person (line 22) | public class Person extends RealmObject {
    method getName (line 28) | public String getName() {
    method setName (line 32) | public void setName(String name) {
    method getAge (line 36) | public int getAge() {
    method setAge (line 40) | public void setAge(int age) {

FILE: examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/utils/ContextUtils.java
  class ContextUtils (line 25) | public class ContextUtils {
    method ContextUtils (line 26) | private ContextUtils() {
    method findActivity (line 38) | public static <T extends Activity> T findActivity(Context context) {

FILE: examples/encryptionExample/src/main/java/io/realm/examples/encryption/EncryptionExampleActivity.java
  class EncryptionExampleActivity (line 29) | public class EncryptionExampleActivity extends Activity {
    method onCreate (line 35) | @Override
    method onDestroy (line 79) | @Override

FILE: examples/encryptionExample/src/main/java/io/realm/examples/encryption/MyApplication.java
  class MyApplication (line 23) | public class MyApplication extends Application {
    method onCreate (line 25) | @Override

FILE: examples/encryptionExample/src/main/java/io/realm/examples/encryption/Person.java
  class Person (line 21) | public class Person extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {
    method getAge (line 33) | public int getAge() {
    method setAge (line 37) | public void setAge(int age) {

FILE: examples/encryptionExample/src/main/java/io/realm/examples/encryption/Util.java
  class Util (line 18) | public class Util {
    method bytesToHex (line 23) | public static String bytesToHex(byte[] bytes) {

FILE: examples/gridViewExample/src/main/java/io/realm/examples/realmgridview/City.java
  class City (line 22) | public class City extends RealmObject {
    method getName (line 29) | public String getName() {
    method setName (line 33) | public void setName(String name) {
    method getVotes (line 37) | public long getVotes() {
    method setVotes (line 41) | public void setVotes(long votes) {

FILE: examples/gridViewExample/src/main/java/io/realm/examples/realmgridview/CityAdapter.java
  class CityAdapter (line 35) | public class CityAdapter extends BaseAdapter {
    method CityAdapter (line 38) | public CityAdapter() {
    method setData (line 41) | public void setData(List<City> details) {
    method getCount (line 49) | @Override
    method getItem (line 54) | @Override
    method getItemId (line 59) | @Override
    class ViewHolder (line 65) | private static class ViewHolder {
      method ViewHolder (line 69) | public ViewHolder(View view) {
      method bind (line 74) | public void bind(City city) {
    method getView (line 80) | @Override

FILE: examples/gridViewExample/src/main/java/io/realm/examples/realmgridview/GridViewExampleActivity.java
  class GridViewExampleActivity (line 29) | public class GridViewExampleActivity extends Activity implements Adapter...
    method onCreate (line 42) | @Override
    method onDestroy (line 69) | @Override
    method onItemClick (line 76) | @Override

FILE: examples/gridViewExample/src/main/java/io/realm/examples/realmgridview/MyApplication.java
  class MyApplication (line 35) | public class MyApplication extends Application {
    method onCreate (line 36) | @Override
    method loadCities (line 54) | private List<City> loadCities() {

FILE: examples/introExample/src/main/java/io/realm/examples/intro/IntroExampleActivity.java
  class IntroExampleActivity (line 38) | public class IntroExampleActivity extends Activity {
    method onCreate (line 59) | @Override
    method onDestroy (line 94) | @Override
    method showStatus (line 101) | private void showStatus(String text) {
    method basicCRUD (line 108) | private void basicCRUD(Realm realm) {
    method basicQuery (line 141) | private void basicQuery(Realm realm) {
    method basicLinkQuery (line 160) | private void basicLinkQuery(Realm realm) {
    class ComplexBackgroundOperations (line 185) | private static class ComplexBackgroundOperations extends AsyncTask<Voi...
      method ComplexBackgroundOperations (line 188) | public ComplexBackgroundOperations(IntroExampleActivity introExample...
      method onPreExecute (line 192) | @Override
      method doInBackground (line 201) | @Override
      method onPostExecute (line 218) | @Override
    method complexReadWrite (line 228) | private String complexReadWrite(Realm realm) {
    method complexQuery (line 277) | private String complexQuery(Realm realm) {

FILE: examples/introExample/src/main/java/io/realm/examples/intro/MyApplication.java
  class MyApplication (line 23) | public class MyApplication extends Application {
    method onCreate (line 25) | @Override

FILE: examples/introExample/src/main/java/io/realm/examples/intro/model/Cat.java
  class Cat (line 23) | public class Cat extends RealmObject {

FILE: examples/introExample/src/main/java/io/realm/examples/intro/model/Dog.java
  class Dog (line 25) | @RealmClass

FILE: examples/introExample/src/main/java/io/realm/examples/intro/model/Person.java
  class Person (line 28) | public class Person extends RealmObject {
    method getName (line 57) | public String getName() {
    method setName (line 61) | public void setName(String name) {
    method getAge (line 65) | public int getAge() {
    method setAge (line 69) | public void setAge(int age) {
    method getId (line 73) | public long getId() {
    method setId (line 77) | public void setId(long id) {
    method getDog (line 81) | public Dog getDog() {
    method setDog (line 85) | public void setDog(Dog dog) {
    method getCats (line 89) | public RealmList<Cat> getCats() {
    method setCats (line 93) | public void setCats(RealmList<Cat> cats) {
    method getTempReference (line 97) | public int getTempReference() {
    method setTempReference (line 101) | public void setTempReference(int tempReference) {
    method getPhoneNumbers (line 105) | public RealmList<String> getPhoneNumbers() {
    method setPhoneNumbers (line 109) | public void setPhoneNumbers(RealmList<String> phoneNumbers) {

FILE: examples/jsonExample/src/main/java/io/realm/examples/json/City.java
  class City (line 23) | @Getter

FILE: examples/jsonExample/src/main/java/io/realm/examples/json/CityAdapter.java
  class CityAdapter (line 30) | public class CityAdapter extends BaseAdapter {
    method CityAdapter (line 35) | public CityAdapter() {
    method setData (line 38) | public void setData(List<City> details) {
    method getCount (line 43) | @Override
    method getItem (line 48) | @Override
    method getItemId (line 53) | @Override
    class ViewHolder (line 58) | private static class ViewHolder {
      method ViewHolder (line 62) | public ViewHolder(View view) {
      method bind (line 67) | public void bind(City city) {
    method getView (line 73) | @Override

FILE: examples/jsonExample/src/main/java/io/realm/examples/json/JsonExampleActivity.java
  class JsonExampleActivity (line 39) | public class JsonExampleActivity extends Activity {
    method onCreate (line 50) | @Override
    method onDestroy (line 76) | @Override
    method loadCities (line 83) | public void loadCities() {
    method loadJsonFromStream (line 93) | private void loadJsonFromStream() throws IOException {
    method loadJsonFromJsonObject (line 112) | private void loadJsonFromJsonObject() {
    method loadJsonFromString (line 121) | private void loadJsonFromString() {

FILE: examples/jsonExample/src/main/java/io/realm/examples/json/MyApplication.java
  class MyApplication (line 23) | public class MyApplication extends Application {
    method onCreate (line 25) | @Override

FILE: examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/MigrationExampleActivity.java
  class MigrationExampleActivity (line 40) | public class MigrationExampleActivity extends Activity {
    method onCreate (line 47) | @Override
    method copyBundledRealmFile (line 105) | private String copyBundledRealmFile(InputStream inputStream, String ou...
    method realmString (line 122) | private String realmString(Realm realm) {
    method showStatus (line 131) | private void showStatus(Realm realm) {
    method showStatus (line 135) | private void showStatus(String txt) {

FILE: examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/MyApplication.java
  class MyApplication (line 23) | public class MyApplication extends Application {
    method onCreate (line 25) | @Override

FILE: examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/model/Migration.java
  class Migration (line 29) | public class Migration implements RealmMigration {
    method migrate (line 31) | @Override

FILE: examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/model/Person.java
  class Person (line 23) | public class Person extends RealmObject {
    method getFullName (line 29) | public String getFullName() {
    method setFullName (line 33) | public void setFullName(String fullName) {
    method getAge (line 37) | public int getAge() {
    method setAge (line 41) | public void setAge(int age) {
    method getPets (line 45) | public RealmList<Pet> getPets() {
    method setPets (line 49) | public void setPets(RealmList<Pet> pets) {

FILE: examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/model/Pet.java
  class Pet (line 22) | public class Pet extends RealmObject {
    method getName (line 27) | public String getName() {
    method setName (line 31) | public void setName(String name) {
    method getType (line 35) | public int getType() {
    method setType (line 39) | public void setType(int type) {

FILE: examples/moduleExample/app/src/main/java/io/realm/examples/appmodules/ModulesExampleActivity.java
  class ModulesExampleActivity (line 47) | public class ModulesExampleActivity extends Activity {
    method onCreate (line 52) | @Override
    method showStatus (line 170) | private void showStatus(String txt) {

FILE: examples/moduleExample/app/src/main/java/io/realm/examples/appmodules/MyApplication.java
  class MyApplication (line 23) | public class MyApplication extends Application {
    method onCreate (line 25) | @Override

FILE: examples/moduleExample/app/src/main/java/io/realm/examples/appmodules/model/Cow.java
  class Cow (line 21) | public class Cow extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {

FILE: examples/moduleExample/app/src/main/java/io/realm/examples/appmodules/model/CrossModuleLinks.java
  class CrossModuleLinks (line 12) | public class CrossModuleLinks extends RealmObject {

FILE: examples/moduleExample/app/src/main/java/io/realm/examples/appmodules/model/Pig.java
  class Pig (line 21) | public class Pig extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {

FILE: examples/moduleExample/app/src/main/java/io/realm/examples/appmodules/model/Snake.java
  class Snake (line 21) | public class Snake extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {

FILE: examples/moduleExample/app/src/main/java/io/realm/examples/appmodules/model/Spider.java
  class Spider (line 21) | public class Spider extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {

FILE: examples/moduleExample/app/src/main/java/io/realm/examples/appmodules/modules/CreepyAnimalsModule.java
  class CreepyAnimalsModule (line 23) | @RealmModule(classes = {Snake.class, Spider.class})

FILE: examples/moduleExample/library/src/main/java/io/realm/examples/librarymodules/Zoo.java
  class Zoo (line 30) | public class Zoo {
    method Zoo (line 35) | public Zoo() {
    method open (line 48) | public void open() {
    method getNoOfAnimals (line 54) | public long getNoOfAnimals() {
    method addAnimals (line 58) | public void addAnimals(final int count) {
    method close (line 70) | public void close() {

FILE: examples/moduleExample/library/src/main/java/io/realm/examples/librarymodules/model/Cat.java
  class Cat (line 21) | public class Cat extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {

FILE: examples/moduleExample/library/src/main/java/io/realm/examples/librarymodules/model/Dog.java
  class Dog (line 21) | public class Dog extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {

FILE: examples/moduleExample/library/src/main/java/io/realm/examples/librarymodules/model/Elephant.java
  class Elephant (line 21) | public class Elephant extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {

FILE: examples/moduleExample/library/src/main/java/io/realm/examples/librarymodules/model/EmbeddedAnimal.java
  class EmbeddedAnimal (line 8) | @RealmClass(embedded = true)

FILE: examples/moduleExample/library/src/main/java/io/realm/examples/librarymodules/model/Lion.java
  class Lion (line 21) | public class Lion extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {

FILE: examples/moduleExample/library/src/main/java/io/realm/examples/librarymodules/model/Zebra.java
  class Zebra (line 21) | public class Zebra extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {

FILE: examples/moduleExample/library/src/main/java/io/realm/examples/librarymodules/modules/AllAnimalsModule.java
  class AllAnimalsModule (line 21) | @RealmModule(library = true, allClasses = true)

FILE: examples/moduleExample/library/src/main/java/io/realm/examples/librarymodules/modules/DomesticAnimalsModule.java
  class DomesticAnimalsModule (line 23) | @RealmModule(library = true, classes = {Cat.class, Dog.class})

FILE: examples/moduleExample/library/src/main/java/io/realm/examples/librarymodules/modules/ZooAnimalsModule.java
  class ZooAnimalsModule (line 24) | @RealmModule(library = true, classes = {Elephant.class, Lion.class, Zebr...

FILE: examples/multiprocessExample/src/main/java/io/realm/examples/realmmultiprocessexample/AnotherProcessService.java
  class AnotherProcessService (line 27) | public class AnotherProcessService extends Service {
    method onCreate (line 31) | @Override
    method onDestroy (line 50) | @Override
    method onBind (line 55) | @Override

FILE: examples/multiprocessExample/src/main/java/io/realm/examples/realmmultiprocessexample/MainActivity.java
  class MainActivity (line 33) | public class MainActivity extends AppCompatActivity {
    method onChange (line 42) | @Override
    method onCreate (line 58) | @Override
    method onDestroy (line 75) | @Override
    method onStartButton (line 85) | public void onStartButton(View button) {

FILE: examples/multiprocessExample/src/main/java/io/realm/examples/realmmultiprocessexample/MyApplication.java
  class MyApplication (line 24) | public class MyApplication extends Application {
    method onCreate (line 25) | @Override

FILE: examples/multiprocessExample/src/main/java/io/realm/examples/realmmultiprocessexample/Utils.java
  class Utils (line 29) | public class Utils {
    method getMyProcessName (line 31) | public static String getMyProcessName(Context context) {
    method createStandaloneProcessInfo (line 50) | public static ProcessInfo createStandaloneProcessInfo(Context context) {

FILE: examples/multiprocessExample/src/main/java/io/realm/examples/realmmultiprocessexample/models/ProcessInfo.java
  class ProcessInfo (line 24) | public class ProcessInfo extends RealmObject {
    method getPid (line 31) | public int getPid() {
    method setPid (line 35) | public void setPid(int pid) {
    method getName (line 39) | public String getName() {
    method setName (line 43) | public void setName(String name) {
    method getLastResponseDate (line 47) | public Date getLastResponseDate() {
    method setLastResponseDate (line 51) | public void setLastResponseDate(Date lastResponseDate) {

FILE: examples/rxJavaExample/src/main/java/io/realm/examples/rxjava/MainActivity.java
  class MainActivity (line 34) | public class MainActivity extends AppCompatActivity {
    method onCreate (line 44) | @Override
    method setupButtons (line 52) | private void setupButtons() {
    method startActivity (line 61) | private void startActivity(Class<? extends Activity> activityClass) {

FILE: examples/rxJavaExample/src/main/java/io/realm/examples/rxjava/MyApplication.java
  class MyApplication (line 29) | public class MyApplication extends Application {
    method onCreate (line 44) | @Override
    method createTestData (line 58) | private void createTestData() {

FILE: examples/rxJavaExample/src/main/java/io/realm/examples/rxjava/animation/AnimationActivity.java
  class AnimationActivity (line 33) | public class AnimationActivity extends AppCompatActivity {
    method onCreate (line 39) | @Override
    method onResume (line 47) | @Override
    method onPause (line 65) | @Override
    method onDestroy (line 71) | @Override

FILE: examples/rxJavaExample/src/main/java/io/realm/examples/rxjava/gotchas/GotchasActivity.java
  class GotchasActivity (line 52) | public class GotchasActivity extends AppCompatActivity {
    method onCreate (line 57) | @Override
    method onResume (line 65) | @Override
    method testSubscribeOn (line 80) | private void testSubscribeOn() {
    method testBuffer (line 104) | private void testBuffer() {
    method testDistinct (line 123) | private void testDistinct() {
    method showStatus (line 143) | private void showStatus(String message) {
    method onPause (line 149) | @Override
    method onDestroy (line 155) | @Override

FILE: examples/rxJavaExample/src/main/java/io/realm/examples/rxjava/model/Person.java
  class Person (line 21) | public class Person extends RealmObject {
    method getName (line 28) | public String getName() {
    method setName (line 32) | public void setName(String name) {
    method getAge (line 36) | public int getAge() {
    method setAge (line 40) | public void setAge(int age) {
    method getGithubUserName (line 44) | public String getGithubUserName() {
    method setGithubUserName (line 48) | public void setGithubUserName(String githubUserName) {

FILE: examples/rxJavaExample/src/main/java/io/realm/examples/rxjava/retrofit/GitHubApi.java
  type GitHubApi (line 26) | interface GitHubApi {
    method user (line 30) | @GET("/users/{user}")

FILE: examples/rxJavaExample/src/main/java/io/realm/examples/rxjava/retrofit/GitHubUser.java
  class GitHubUser (line 24) | @SuppressWarnings("unused")

FILE: examples/rxJavaExample/src/main/java/io/realm/examples/rxjava/retrofit/RetrofitExample.java
  class RetrofitExample (line 42) | public class RetrofitExample extends AppCompatActivity {
    method onCreate (line 49) | @Override
    method onResume (line 58) | @Override
    method onPause (line 86) | @Override
    method onDestroy (line 92) | @Override
    method createGitHubApi (line 98) | private GitHubApi createGitHubApi() {

FILE: examples/rxJavaExample/src/main/java/io/realm/examples/rxjava/retrofit/UserViewModel.java
  class UserViewModel (line 19) | public class UserViewModel {
    method UserViewModel (line 25) | public UserViewModel(String username, int publicRepos, int publicGists) {
    method getUsername (line 31) | public String getUsername() {
    method getPublicRepos (line 35) | public int getPublicRepos() {
    method getPublicGists (line 39) | public int getPublicGists() {

FILE: examples/rxJavaExample/src/main/java/io/realm/examples/rxjava/throttle/ThrottleSearchActivity.java
  class ThrottleSearchActivity (line 36) | public class ThrottleSearchActivity extends AppCompatActivity {
    method onCreate (line 43) | @Override
    method onResume (line 52) | @Override
    method onPause (line 83) | @Override
    method onDestroy (line 89) | @Override

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/AsyncQueryFragment.java
  class AsyncQueryFragment (line 43) | public class AsyncQueryFragment extends Fragment implements View.OnClick...
    method onCreateView (line 49) | @Override
    method onStart (line 60) | @Override
    method onStop (line 77) | @Override
    method onClick (line 87) | @Override
    method cancelAsyncTransaction (line 131) | private void cancelAsyncTransaction() {
    method onChange (line 138) | @Override
    class DotAdapter (line 146) | private static class DotAdapter extends BaseAdapter {
      method DotAdapter (line 150) | DotAdapter(Context context) {
      method updateList (line 154) | void updateList(RealmResults<Dot> dots) {
      method getCount (line 159) | @Override
      method getItem (line 164) | @Override
      method getItemId (line 169) | @Override
      method getView (line 174) | @Override
      class ViewHolder (line 186) | private class ViewHolder {
        method ViewHolder (line 189) | ViewHolder(View view) {

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/AsyncTaskFragment.java
  class AsyncTaskFragment (line 39) | public class AsyncTaskFragment extends Fragment {
    method onCreateView (line 48) | @Override
    method onStop (line 69) | @Override
    method showStatus (line 77) | private void showStatus(String txt) {
    class ImportAsyncTask (line 93) | private static class ImportAsyncTask extends AsyncTask<Void, Integer, ...
      method ImportAsyncTask (line 97) | ImportAsyncTask(AsyncTaskFragment outerFragment) {
      method doInBackground (line 101) | @Override
      method onPreExecute (line 123) | @Override
      method onPostExecute (line 135) | @Override

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/MyApplication.java
  class MyApplication (line 24) | public class MyApplication extends Application {
    method onCreate (line 26) | @Override

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/PassingObjectsFragment.java
  class PassingObjectsFragment (line 34) | public class PassingObjectsFragment extends Fragment {
    method onCreateView (line 41) | @Nullable
    method setListeners (line 66) | private void setListeners(View view) {
    method onActivityCreated (line 95) | @Override
    method onDestroy (line 111) | @Override

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/ReceivingActivity.java
  class ReceivingActivity (line 26) | public class ReceivingActivity extends AppCompatActivity {
    method onCreate (line 30) | @Override
    method onDestroy (line 46) | @Override

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/ReceivingService.java
  class ReceivingService (line 27) | public class ReceivingService extends IntentService {
    method ReceivingService (line 29) | public ReceivingService() {
    method onHandleIntent (line 33) | @Override

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/ThreadExampleActivity.java
  class ThreadExampleActivity (line 31) | public class ThreadExampleActivity extends AppCompatActivity implements ...
    method onCreate (line 35) | @Override
    method onTabSelected (line 62) | @Override
    method onTabUnselected (line 67) | @Override
    method onTabReselected (line 72) | @Override
    class SectionsPagerAdapter (line 78) | public class SectionsPagerAdapter extends FragmentPagerAdapter {
      method SectionsPagerAdapter (line 80) | public SectionsPagerAdapter(FragmentManager fm) {
      method getItem (line 84) | @Override
      method getCount (line 95) | @Override
      method getPageTitle (line 100) | @Override

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/ThreadFragment.java
  class ThreadFragment (line 39) | public class ThreadFragment extends Fragment {
    method onChange (line 48) | @Override
    method onCreate (line 54) | @Override
    method onCreateView (line 60) | @Override
    method onCreateOptionsMenu (line 67) | @Override
    method onOptionsItemSelected (line 73) | @Override
    method onStart (line 104) | @Override
    method onResume (line 120) | @Override
    method onPause (line 159) | @Override
    method onStop (line 168) | @Override

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/WakefulReceivingBroadcastReceiver.java
  class WakefulReceivingBroadcastReceiver (line 23) | public class WakefulReceivingBroadcastReceiver extends WakefulBroadcastR...
    method onReceive (line 24) | @Override

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/WakefulReceivingService.java
  class WakefulReceivingService (line 28) | public class WakefulReceivingService extends IntentService {
    method WakefulReceivingService (line 30) | public WakefulReceivingService() {
    method onHandleIntent (line 34) | @Override

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/model/Dot.java
  class Dot (line 21) | public class Dot extends RealmObject{
    method getX (line 28) | public int getX() {
    method setX (line 32) | public void setX(int x) {
    method getY (line 36) | public int getY() {
    method setY (line 40) | public void setY(int y) {
    method getColor (line 44) | public int getColor() {
    method setColor (line 48) | public void setColor(int color) {
    method getTimestamp (line 52) | public long getTimestamp() {
    method setTimestamp (line 56) | public void setTimestamp(long timestamp) {

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/model/Person.java
  class Person (line 22) | public class Person extends RealmObject {
    method getId (line 30) | public String getId() {
    method setId (line 34) | public void setId(String id) {
    method getName (line 38) | public String getName() {
    method setName (line 42) | public void setName(String name) {
    method getAge (line 46) | public int getAge() {
    method setAge (line 50) | public void setAge(int age) {

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/model/Score.java
  class Score (line 21) | public class Score extends RealmObject {
    method getName (line 26) | public String getName() {
    method setName (line 30) | public void setName(String name) {
    method getScore (line 34) | public int getScore() {
    method setScore (line 38) | public void setScore(int score) {

FILE: examples/threadExample/src/main/java/io/realm/examples/threads/widget/DotsView.java
  class DotsView (line 32) | public class DotsView extends View {
    method DotsView (line 43) | public DotsView(Context context) {
    method DotsView (line 48) | public DotsView(Context context, AttributeSet attrs) {
    method DotsView (line 53) | public DotsView(Context context, AttributeSet attrs, int defStyleAttr) {
    method init (line 58) | private void init() {
    method setRealmResults (line 65) | public void setRealmResults(RealmResults results) {
    method onSizeChanged (line 70) | @Override
    method onDraw (line 77) | @Override

FILE: examples/unitTestExample/src/androidTest/java/io/realm/examples/unittesting/jUnit4ExampleTest.java
  class jUnit4ExampleTest (line 32) | @RunWith(AndroidJUnit4.class)
    method testShouldBeAbleToLaunchActivityAndSeeRealmResults (line 38) | @Test

FILE: examples/unitTestExample/src/main/java/io/realm/examples/unittesting/ExampleActivity.java
  class ExampleActivity (line 31) | public class ExampleActivity extends AppCompatActivity {
    method onCreate (line 38) | @Override
    method cleanUp (line 85) | private void cleanUp() {
    method onDestroy (line 90) | @Override
    method showStatus (line 96) | private void showStatus(String txt) {
    method basicCRUD (line 103) | private void basicCRUD(Realm realm) {
    method complexQuery (line 145) | private String complexQuery() {

FILE: examples/unitTestExample/src/main/java/io/realm/examples/unittesting/model/Cat.java
  class Cat (line 21) | public class Cat extends RealmObject {
    method getName (line 24) | public String getName() {
    method setName (line 28) | public void setName(String name) {

FILE: examples/unitTestExample/src/main/java/io/realm/examples/unittesting/model/Dog.java
  class Dog (line 21) | public class Dog extends RealmObject {
    method getName (line 24) | public String getName() {
    method setName (line 28) | public void setName(String name) {

FILE: examples/unitTestExample/src/main/java/io/realm/examples/unittesting/model/Person.java
  class Person (line 25) | public class Person extends RealmObject {
    method getName (line 47) | public String getName() {
    method setName (line 51) | public void setName(String name) {
    method getAge (line 55) | public int getAge() {
    method setAge (line 59) | public void setAge(int age) {
    method getDog (line 63) | public Dog getDog() {
    method setDog (line 67) | public void setDog(Dog dog) {
    method getCats (line 71) | public RealmList<Cat> getCats() {
    method setCats (line 75) | public void setCats(RealmList<Cat> cats) {
    method getTempReference (line 79) | public int getTempReference() {
    method setTempReference (line 83) | public void setTempReference(int tempReference) {
    method getId (line 87) | public long getId() {
    method setId (line 91) | public void setId(long id) {

FILE: examples/unitTestExample/src/main/java/io/realm/examples/unittesting/repository/DogRepository.java
  type DogRepository (line 19) | public interface DogRepository {
    method createDog (line 20) | void createDog(String name);

FILE: examples/unitTestExample/src/main/java/io/realm/examples/unittesting/repository/DogRepositoryImpl.java
  class DogRepositoryImpl (line 22) | public class DogRepositoryImpl implements DogRepository {
    method createDog (line 23) | @Override

FILE: examples/unitTestExample/src/test/java/io/realm/examples/unittesting/ExampleActivityTest.java
  class ExampleActivityTest (line 66) | @RunWith(RobolectricTestRunner.class)
    method setup (line 81) | @Before
    method shouldBeAbleToAccessActivityAndVerifyRealmInteractions (line 178) | @Test
    method shouldBeAbleToVerifyTransactionCalls (line 222) | @Test
    method mockRealmQuery (line 254) | @SuppressWarnings("unchecked")
    method mockRealmResults (line 259) | @SuppressWarnings("unchecked")

FILE: examples/unitTestExample/src/test/java/io/realm/examples/unittesting/ExampleRealmTest.java
  class ExampleRealmTest (line 49) | @RunWith(RobolectricTestRunner.class)
    method setup (line 62) | @Before
    method shouldBeAbleToGetDefaultInstance (line 74) | @Test
    method shouldBeAbleToMockRealmMethods (line 79) | @Test
    method shouldBeAbleToCreateARealmObject (line 88) | @Test
    method shouldVerifyThatDogWasCreated (line 101) | @Test
    method shouldVerifyThatTransactionWasExecuted (line 133) | @Test

FILE: library-benchmarks/src/androidTest/java/io/realm/benchmarks/entities/AllTypes.java
  class AllTypes (line 26) | public class AllTypes extends RealmObject {
    method getColumnString (line 54) | public String getColumnString() {
    method setColumnString (line 58) | public void setColumnString(String columnString) {
    method getColumnLong (line 62) | public long getColumnLong() {
    method setColumnLong (line 66) | public void setColumnLong(long columnLong) {
    method getColumnFloat (line 70) | public float getColumnFloat() {
    method setColumnFloat (line 74) | public void setColumnFloat(float columnFloat) {
    method getColumnDouble (line 78) | public double getColumnDouble() {
    method setColumnDouble (line 82) | public void setColumnDouble(double columnDouble) {
    method isColumnBoolean (line 86) | public boolean isColumnBoolean() {
    method setColumnBoolean (line 90) | public void setColumnBoolean(boolean columnBoolean) {
    method getColumnDate (line 94) | public Date getColumnDate() {
    method setColumnDate (line 98) | public void setColumnDate(Date columnDate) {
    method getColumnBinary (line 102) | public byte[] getColumnBinary() {
    method setColumnBinary (line 106) | public void setColumnBinary(byte[] columnBinary) {
    method getColumnRealmObject (line 110) | public AllTypes getColumnRealmObject() {
    method setColumnRealmObject (line 114) | public void setColumnRealmObject(AllTypes columnRealmObject) {
    method getColumnRealmList (line 118) | public RealmList<AllTypes> getColumnRealmList() {
    method setColumnRealmList (line 122) | public void setColumnRealmList(RealmList<AllTypes> columnRealmList) {

FILE: library-benchmarks/src/androidTest/java/io/realm/benchmarks/entities/AllTypesPrimaryKey.java
  class AllTypesPrimaryKey (line 26) | public class AllTypesPrimaryKey extends RealmObject {
    method getColumnString (line 49) | public String getColumnString() {
    method setColumnString (line 53) | public void setColumnString(String columnString) {
    method getColumnLong (line 57) | public long getColumnLong() {
    method setColumnLong (line 61) | public void setColumnLong(long columnLong) {
    method getColumnFloat (line 65) | public float getColumnFloat() {
    method setColumnFloat (line 69) | public void setColumnFloat(float columnFloat) {
    method getColumnDouble (line 73) | public double getColumnDouble() {
    method setColumnDouble (line 77) | public void setColumnDouble(double columnDouble) {
    method isColumnBoolean (line 81) | public boolean isColumnBoolean() {
    method setColumnBoolean (line 85) | public void setColumnBoolean(boolean columnBoolean) {
    method getColumnDate (line 89) | public Date getColumnDate() {
    method setColumnDate (line 93) | public void setColumnDate(Date columnDate) {
    method getColumnBinary (line 97) | public byte[] getColumnBinary() {
    method setColumnBinary (line 101) | public void setColumnBinary(byte[] columnBinary) {
    method getColumnRealmObject (line 105) | public AllTypesPrimaryKey getColumnRealmObject() {
    method setColumnRealmObject (line 109) | public void setColumnRealmObject(AllTypesPrimaryKey columnRealmObject) {
    method getColumnRealmList (line 113) | public RealmList<AllTypesPrimaryKey> getColumnRealmList() {
    method setColumnRealmList (line 117) | public void setColumnRealmList(RealmList<AllTypesPrimaryKey> columnRea...
    method getColumnBoxedBoolean (line 121) | public Boolean getColumnBoxedBoolean() {
    method setColumnBoxedBoolean (line 125) | public void setColumnBoxedBoolean(Boolean columnBoxedBoolean) {
    method getColumnStringList (line 129) | public RealmList<String> getColumnStringList() {
    method setColumnStringList (line 133) | public void setColumnStringList(RealmList<String> columnStringList) {
    method getColumnBinaryList (line 137) | public RealmList<byte[]> getColumnBinaryList() {
    method setColumnBinaryList (line 141) | public void setColumnBinaryList(RealmList<byte[]> columnBinaryList) {
    method getColumnBooleanList (line 145) | public RealmList<Boolean> getColumnBooleanList() {
    method setColumnBooleanList (line 149) | public void setColumnBooleanList(RealmList<Boolean> columnBooleanList) {
    method getColumnLongList (line 153) | public RealmList<Long> getColumnLongList() {
    method setColumnLongList (line 157) | public void setColumnLongList(RealmList<Long> columnLongList) {
    method getColumnIntegerList (line 161) | public RealmList<Integer> getColumnIntegerList() {
    method setColumnIntegerList (line 165) | public void setColumnIntegerList(RealmList<Integer> columnIntegerList) {
    method getColumnShortList (line 169) | public RealmList<Short> getColumnShortList() {
    method setColumnShortList (line 173) | public void setColumnShortList(RealmList<Short> columnShortList) {
    method getColumnByteList (line 177) | public RealmList<Byte> getColumnByteList() {
    method setColumnByteList (line 181) | public void setColumnByteList(RealmList<Byte> columnByteList) {
    method getColumnDoubleList (line 185) | public RealmList<Double> getColumnDoubleList() {
    method setColumnDoubleList (line 189) | public void setColumnDoubleList(RealmList<Double> columnDoubleList) {
    method getColumnFloatList (line 193) | public RealmList<Float> getColumnFloatList() {
    method setColumnFloatList (line 197) | public void setColumnFloatList(RealmList<Float> columnFloatList) {
    method getColumnDateList (line 201) | public RealmList<Date> getColumnDateList() {
    method setColumnDateList (line 205) | public void setColumnDateList(RealmList<Date> columnDateList) {

FILE: library-build-transformer/src/test/java/io/realm/buildtransformer/testclasses/NestedTestClass.java
  class NestedTestClass (line 20) | public class NestedTestClass {
    class StaticInnerClass (line 23) | @ObjectServer
    class InnerClass (line 29) | @ObjectServer
    type Enum (line 34) | @ObjectServer
    type Interface (line 39) | @ObjectServer
      method foo (line 41) | void foo();

FILE: library-build-transformer/src/test/java/io/realm/buildtransformer/testclasses/SimpleTestClass.java
  class SimpleTestClass (line 20) | @ObjectServer
    class Foo (line 24) | public static class Foo {

FILE: library-build-transformer/src/test/java/io/realm/buildtransformer/testclasses/SimpleTestFields.java
  class SimpleTestFields (line 21) | public class SimpleTestFields {

FILE: library-build-transformer/src/test/java/io/realm/buildtransformer/testclasses/SimpleTestMethods.java
  class SimpleTestMethods (line 20) | public class SimpleTestMethods {
    method foo (line 22) | @ObjectServer
    method foo1 (line 27) | @ObjectServer
    method foo1 (line 32) | public String foo1(String input, String donRemoveThis) {
    method bar (line 36) | public String bar() {

FILE: library-build-transformer/src/test/java/io/realm/buildtransformer/testclasses/SubClass.java
  class SubClass (line 18) | public class SubClass extends SuperClass {

FILE: library-build-transformer/src/test/java/io/realm/buildtransformer/testclasses/SuperClass.java
  class SuperClass (line 20) | @ObjectServer

FILE: realm-annotations/src/main/java/io/realm/annotations/RealmNamingPolicy.java
  type RealmNamingPolicy (line 122) | public enum RealmNamingPolicy {

FILE: realm-transformer/src/main/java/io/realm/gradle/RealmPluginExtension.java
  class RealmPluginExtension (line 24) | public class RealmPluginExtension {
    method isSyncEnabled (line 28) | @Input
    method setSyncEnabled (line 33) | public void setSyncEnabled(boolean syncEnabled) {
    method isKotlinExtensionsEnabled (line 37) | @Input
    method setKotlinExtensionsEnabled (line 42) | public void setKotlinExtensionsEnabled(boolean kotlinExtensionsEnabled) {

FILE: realm-transformer/src/main/java/io/realm/transformer/Utils.java
  class Utils (line 26) | public class Utils {
    method base64Encode (line 34) | public static String base64Encode(String data) throws UnsupportedEncod...
    method sha256Hash (line 44) | public static byte[] sha256Hash(byte[] data) throws NoSuchAlgorithmExc...
    method hexStringify (line 54) | public static String hexStringify(byte[] data) {
    method isSyncEnabled (line 63) | public static boolean isSyncEnabled(Project project) {

FILE: realm-transformer/src/main/templates/Version.java
  class Version (line 3) | public class Version {

FILE: realm/realm-annotations-processor/src/main/templates/Version.java
  class Version (line 3) | public class Version {

FILE: realm/realm-annotations-processor/src/test/java/io/realm/processor/NameConverterTests.java
  class NameConverterTests (line 15) | public class NameConverterTests {
    method camelCase (line 17) | @Test
    method pascalCase (line 60) | @Test
    method lowerCaseWithUnderscore (line 103) | @Test

FILE: realm/realm-annotations-processor/src/test/java/io/realm/processor/RealmBacklinkProcessorTest.java
  class RealmBacklinkProcessorTest (line 32) | public class RealmBacklinkProcessorTest {
    method compileBacklinks (line 37) | @Test
    method compileSyntheticBacklinks (line 45) | @Test
    method failOnLinkingObjectsWithInvalidFieldType (line 54) | @Test
    method failOnLinkingObjectsWithNonFinalField (line 66) | @Test
    method failsOnLinkingObjectsWithLinkedFields (line 79) | @Test
    method failsOnLinkingObjectsMissingFieldName (line 94) | @Test
    method failsOnLinkingObjectsMissingGeneric (line 108) | @Test
    method failsOnLinkingObjectsWithRequiredFields (line 121) | @Test
    method failsOnLinkingObjectsWithIgnoreFields (line 134) | @Test
    method ignoreStaticLinkingObjects (line 147) | @Test
    method failsOnLinkingObjectsFieldNotFound (line 161) | @Test
    method failsOnLinkingObjectsWithFieldWrongType (line 175) | @Test
    method createBacklinkTestClass (line 192) | private RealmSyntheticTestClass.Field createBacklinkTestClass() {
    method failToCompileInvalidResultsElementType (line 205) | @Test
    method compileBacklinkClassesWithSimpleNameConflicts (line 213) | @Test

FILE: realm/realm-annotations-processor/src/test/java/io/realm/processor/RealmCounterProcessorTest.java
  class RealmCounterProcessorTest (line 33) | public class RealmCounterProcessorTest {
    method compileMutableRealmInteger (line 35) | @Test
    method compileIgnoredMutableRealmInteger (line 45) | @Test
    method compileIndexedMutableRealmInteger (line 56) | @Test
    method compileRequiredMutableRealmInteger (line 67) | @Test
    method compileStaticMutableRealmInteger (line 78) | @Test
    method failOnPKMutableRealmInteger (line 89) | @Test
    method failUnlessFinalMutableRealmInteger (line 101) | @Test
    method createCounterTestClass (line 116) | private RealmSyntheticTestClass.Field createCounterTestClass() {

FILE: realm/realm-annotations-processor/src/test/java/io/realm/processor/RealmEmbeddedObjectsTest.java
  class RealmEmbeddedObjectsTest (line 13) | public class RealmEmbeddedObjectsTest {
    method compileAndCompareEmbeddedObjectFile (line 15) | @Test
    method compileAndCompareParentToEmbeddedObjectFile (line 25) | @Test
    method compileWithSingleRequiredParent (line 38) | @Test
    method compileWithMultipleOptionalParents (line 52) | @Test
    method failToCompileIfSingleParentIsMissingFinal (line 65) | @Test
    method failToCompileIfMissingFieldDescriptor (line 79) | @Test
    method failToCompileWithPrimaryKey (line 93) | @Test
    method failToCompileWithMultipleRequiredParents (line 106) | @Test

FILE: realm/realm-annotations-processor/src/test/java/io/realm/processor/RealmNameTest.java
  class RealmNameTest (line 13) | public class RealmNameTest {
    method compileOnlyClassNamePolicyFile (line 16) | @Test
    method compileOnlyFieldNamePolicyFile (line 25) | @Test
    method compileModuleWithNamePolicyFile (line 34) | @Test
    method compareProcessedNamingPolicyClassFile (line 44) | @Test
    method compareProcessedDefaultClassFile (line 60) | @Test
    method compileModulesWithConflictingPoliciesForAllClassesFails (line 74) | @Test
    method compileModulesWithConflictingPoliciesForNamedClassesFails (line 87) | @Test
    method compileModulesWithConflictingPoliciesAndMixedClassDefinitionsFails (line 101) | @Test

FILE: realm/realm-annotations-processor/src/test/java/io/realm/processor/RealmProcessorTest.java
  class RealmProcessorTest (line 34) | public class RealmProcessorTest {
    method compileSimpleFile (line 72) | @Test
    method compileProcessedSimpleFile (line 79) | @Test
    method compileProcessedEmptyFile (line 87) | @Test
    method compileSimpleProxyFile (line 95) | @Ignore("Disabled because it does not seem to find the generated inter...
    method compareProcessedSimpleFile (line 103) | @Test
    method compileProcessedNullTypesFile (line 113) | @Test
    method compareProcessedNullTypesFile (line 121) | @Test
    method compileAllTypesFile (line 131) | @Test
    method compileProcessedAllTypesFile (line 138) | @Test
    method compileAllTypesProxyFile (line 146) | @Test
    method compareProcessedAllTypesFile (line 153) | @Test
    method compileAppModuleCustomClasses (line 163) | @Test
    method compileAppModuleAllClasses (line 171) | @Test
    method compileLibraryModulesAllClasses (line 179) | @Test
    method compileLibraryModulesCustomClasses (line 187) | @Test
    method compileAppModuleMixedParametersFail (line 195) | @Test
    method compileAppModuleWrongTypeFail (line 204) | @Test
    method compileLibraryModuleMixedParametersFail (line 213) | @Test
    method compileLibraryModuleWrongTypeFail (line 221) | @Test
    method compileBooleanFile (line 229) | @Test
    method compileProcessedBooleansFile (line 236) | @Test
    method compileBooleansProxyFile (line 244) | @Test
    method compareProcessedBooleansFile (line 251) | @Test
    method compileMissingGenericType (line 261) | @Test
    method compileFieldNamesFiles (line 269) | @Test
    method compileCustomAccessor (line 278) | @Test
    method compileIndexTypes (line 287) | @Test
    method compileInvalidIndexTypes (line 303) | @Test
    method compilePrimaryKeyTypes (line 318) | @Test
    method compileInvalidPrimaryKeyTypes (line 333) | @Test
    method compileRequiredTypes (line 348) | @Test
    method compileInvalidRequiredTypes (line 364) | @Test
    method compileSetWithEmbeddedObjectNotSupported (line 382) | @Test
    method compileConflictingFieldName (line 397) | @Test
    method failOnFinalFields (line 405) | @Test
    method compileTransientFields (line 413) | @Test
    method failOnVolatileFields (line 421) | @Test
    method failOnInvalidRealmModel_1 (line 430) | @Test
    method failOnInvalidRealmModel_2 (line 439) | @Test
    method failOnInvalidRealmModel_3 (line 448) | @Test
    method validRealmModelUsingInheritance (line 456) | @Test
    method canNotInheritRealmList (line 464) | @Test
    method compileWithRealmModelFieldInReamlModel (line 472) | @Test
    method compileWithInterfaceForList (line 480) | @Test
    method compileWithInterfaceForObject (line 488) | @Test
    method compareNonLatinName (line 496) | @Test
    method compileRealmMapModelNotAllowed (line 504) | @Test
    method compileRealmDictionaryMissingGenerics (line 512) | @Test
    method compileRealmDictionaryModel (line 520) | @Test
    method compileRealmDictionaryModelWrongType (line 528) | @Test
    method compileRealmDictionaryModelRealmAnyRequiredFails (line 537) | @Test
    method compileRealmDictionaryModelRealmModelRequiredFails (line 545) | @Test
    method compileRealmSetModel (line 553) | @Test
    method compileRealmSetModelWrongType (line 561) | @Test
    method compileRealmSetMissingGenerics (line 569) | @Test

FILE: realm/realm-annotations-processor/src/test/java/io/realm/processor/RealmSyntheticTestClass.java
  class RealmSyntheticTestClass (line 32) | public class RealmSyntheticTestClass extends SimpleJavaFileObject {
    class Field (line 33) | public static class Field {
      method Field (line 43) | Field(Builder builder) {
      method name (line 47) | public Field name(String name) {
      method type (line 52) | public Field type(String type) {
      method modifiers (line 57) | public Field modifiers(Modifier... modifiers) {
      method clearAnnotations (line 62) | public Field clearAnnotations() {
      method annotation (line 67) | public Field annotation(String annotation) {
      method initializer (line 72) | public Field initializer(String initializer) {
      method hasGetter (line 77) | public Field hasGetter(boolean hasGetter) {
      method hasSetter (line 82) | public Field hasSetter(boolean hasSetter) {
      method builder (line 87) | public Builder builder() {
    class Builder (line 92) | public static class Builder {
      method name (line 96) | public Builder name(String name) {
      method field (line 103) | public Field field() {
      method field (line 110) | public Builder field(String name, String type, String annotation) {
      method build (line 115) | public RealmSyntheticTestClass build() throws IOException {
      method generateField (line 141) | private void generateField(JavaWriter writer, Field field) throws IO...
      method emitSetter (line 153) | private void emitSetter(JavaWriter writer, Field field) throws IOExc...
      method emitGetter (line 171) | private void emitGetter(JavaWriter writer, Field field) throws IOExc...
    method RealmSyntheticTestClass (line 192) | private RealmSyntheticTestClass(StringWriter stringWriter, String name) {
    method getCharContent (line 197) | @Override

FILE: realm/realm-annotations-processor/src/test/java/io/realm/processor/ValueListProcessorTest.java
  class ValueListProcessorTest (line 29) | public class ValueListProcessorTest {
    method compileValueList (line 33) | @Test
    method failToCompileInvalidListElementType (line 42) | @Test

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/DefaultRealmModule.java
  class DefaultRealmModule (line 4) | @io.realm.annotations.RealmModule(allClasses = true)

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/DefaultRealmModuleMediator.java
  class DefaultRealmModuleMediator (line 24) | @io.realm.annotations.RealmModule
    method getExpectedObjectSchemaInfoMap (line 35) | @Override
    method createColumnInfo (line 43) | @Override
    method getSimpleClassNameImpl (line 56) | @Override
    method getClazzImpl (line 69) | @Override
    method hasPrimaryKeyImpl (line 82) | @Override
    method newInstance (line 87) | @Override
    method getModelClasses (line 106) | @Override
    method copyOrUpdate (line 111) | @Override
    method insert (line 128) | @Override
    method insert (line 143) | @Override
    method insertOrUpdate (line 174) | @Override
    method insertOrUpdate (line 189) | @Override
    method createOrUpdateUsingJsonObject (line 220) | @Override
    method createUsingJsonStream (line 234) | @Override
    method createDetachedCopy (line 248) | @Override
    method isEmbedded (line 263) | @Override
    method updateEmbeddedObject (line 274) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/some_test_AllTypesRealmProxy-pre-dictionary.java
  class some_test_AllTypesRealmProxy (line 41) | @SuppressWarnings("all")
    class AllTypesColumnInfo (line 45) | static final class AllTypesColumnInfo extends ColumnInfo {
      method AllTypesColumnInfo (line 94) | AllTypesColumnInfo(OsSchemaInfo schemaInfo) {
      method AllTypesColumnInfo (line 147) | AllTypesColumnInfo(ColumnInfo src, boolean mutable) {
      method copy (line 152) | @Override
      method copy (line 157) | @Override
    method getProxyState (line 217) | @Override protected ProxyState<some.test.AllTypes> getProxyState() { r...
    method getColumnIndex (line 218) | @Override protected long getColumnIndex() { return columnInfo.columnMu...
    method some_test_AllTypesRealmProxy (line 255) | some_test_AllTypesRealmProxy() {
    method realm$injectObjectContext (line 259) | @Override
    method realmGet$columnString (line 273) | @Override
    method realmSet$columnString (line 280) | @Override
    method realmGet$columnLong (line 291) | @Override
    method realmSet$columnLong (line 298) | @Override
    method realmGet$columnFloat (line 313) | @Override
    method realmSet$columnFloat (line 320) | @Override
    method realmGet$columnDouble (line 335) | @Override
    method realmSet$columnDouble (line 342) | @Override
    method realmGet$columnBoolean (line 357) | @Override
    method realmSet$columnBoolean (line 364) | @Override
    method realmGet$columnDecimal128 (line 379) | @Override
    method realmSet$columnDecimal128 (line 386) | @Override
    method realmGet$columnObjectId (line 407) | @Override
    method realmSet$columnObjectId (line 414) | @Override
    method realmGet$columnUUID (line 435) | @Override
    method realmSet$columnUUID (line 442) | @Override
    method realmGet$columnDate (line 463) | @Override
    method realmSet$columnDate (line 470) | @Override
    method realmGet$columnRealmAny (line 491) | @Override
    method realmSet$columnRealmAny (line 498) | @Override
    method realmGet$columnBinary (line 530) | @Override
    method realmSet$columnBinary (line 537) | @Override
    method realmGet$columnMutableRealmInteger (line 558) | @Override
    method realmGet$columnObject (line 564) | @Override
    method realmSet$columnObject (line 573) | @Override
    method realmGet$columnObjectWithoutPk (line 606) | @Override
    method realmSet$columnObjectWithoutPk (line 615) | @Override
    method realmGet$columnRealmList (line 648) | @Override
    method realmSet$columnRealmList (line 661) | @Override
    method realmGet$columnRealmListNoPk (line 709) | @Override
    method realmSet$columnRealmListNoPk (line 722) | @Override
    method realmGet$columnRealmFinalList (line 770) | @Override
    method realmSet$columnRealmFinalList (line 783) | @Override
    method realmGet$columnRealmFinalListNoPk (line 831) | @Override
    method realmSet$columnRealmFinalListNoPk (line 844) | @Override
    method realmGet$columnStringList (line 892) | @Override
    method realmSet$columnStringList (line 905) | @Override
    method realmGet$columnBinaryList (line 931) | @Override
    method realmSet$columnBinaryList (line 944) | @Override
    method realmGet$columnBooleanList (line 970) | @Override
    method realmSet$columnBooleanList (line 983) | @Override
    method realmGet$columnLongList (line 1009) | @Override
    method realmSet$columnLongList (line 1022) | @Override
    method realmGet$columnIntegerList (line 1048) | @Override
    method realmSet$columnIntegerList (line 1061) | @Override
    method realmGet$columnShortList (line 1087) | @Override
    method realmSet$columnShortList (line 1100) | @Override
    method realmGet$columnByteList (line 1126) | @Override
    method realmSet$columnByteList (line 1139) | @Override
    method realmGet$columnDoubleList (line 1165) | @Override
    method realmSet$columnDoubleList (line 1178) | @Override
    method realmGet$columnFloatList (line 1204) | @Override
    method realmSet$columnFloatList (line 1217) | @Override
    method realmGet$columnDateList (line 1243) | @Override
    method realmSet$columnDateList (line 1256) | @Override
    method realmGet$columnDecimal128List (line 1282) | @Override
    method realmSet$columnDecimal128List (line 1295) | @Override
    method realmGet$columnObjectIdList (line 1321) | @Override
    method realmSet$columnObjectIdList (line 1334) | @Override
    method realmGet$columnUUIDList (line 1360) | @Override
    method realmSet$columnUUIDList (line 1373) | @Override
    method realmGet$columnRealmAnyList (line 1399) | @Override
    method realmSet$columnRealmAnyList (line 1412) | @Override
    method realmGet$columnRealmDictionary (line 1446) | @Override
    method realmSet$columnRealmDictionary (line 1459) | @Override
    method realmGet$columnBooleanDictionary (line 1502) | @Override
    method realmSet$columnBooleanDictionary (line 1515) | @Override
    method realmGet$columnStringDictionary (line 1539) | @Override
    method realmSet$columnStringDictionary (line 1552) | @Override
    method realmGet$columnIntegerDictionary (line 1576) | @Override
    method realmSet$columnIntegerDictionary (line 1589) | @Override
    method realmGet$columnFloatDictionary (line 1613) | @Override
    method realmSet$columnFloatDictionary (line 1626) | @Override
    method realmGet$columnLongDictionary (line 1650) | @Override
    method realmSet$columnLongDictionary (line 1663) | @Override
    method realmGet$columnShortDictionary (line 1687) | @Override
    method realmSet$columnShortDictionary (line 1700) | @Override
    method realmGet$columnDoubleDictionary (line 1724) | @Override
    method realmSet$columnDoubleDictionary (line 1737) | @Override
    method realmGet$columnByteDictionary (line 1761) | @Override
    method realmSet$columnByteDictionary (line 1774) | @Override
    method realmGet$columnBinaryDictionary (line 1798) | @Override
    method realmSet$columnBinaryDictionary (line 1811) | @Override
    method realmGet$columnDateDictionary (line 1835) | @Override
    method realmSet$columnDateDictionary (line 1848) | @Override
    method realmGet$columnObjectIdDictionary (line 1872) | @Override
    method realmSet$columnObjectIdDictionary (line 1885) | @Override
    method realmGet$columnUUIDDictionary (line 1909) | @Override
    method realmSet$columnUUIDDictionary (line 1922) | @Override
    method realmGet$columnDecimal128Dictionary (line 1946) | @Override
    method realmSet$columnDecimal128Dictionary (line 1959) | @Override
    method realmGet$columnRealmAnyDictionary (line 1983) | @Override
    method realmSet$columnRealmAnyDictionary (line 1996) | @Override
    method realmGet$parentObjects (line 2044) | @Override
    method createExpectedObjectSchemaInfo (line 2055) | private static OsObjectSchemaInfo createExpectedObjectSchemaInfo() {
    method getExpectedObjectSchemaInfo (line 2109) | public static OsObjectSchemaInfo getExpectedObjectSchemaInfo() {
    method createColumnInfo (line 2113) | public static AllTypesColumnInfo createColumnInfo(OsSchemaInfo schemaI...
    method getSimpleClassName (line 2117) | public static String getSimpleClassName() {
    class ClassNameHelper (line 2121) | public static final class ClassNameHelper {
    method createOrUpdateUsingJsonObject (line 2125) | @SuppressWarnings("cast")
    method createUsingJsonStream (line 2423) | @SuppressWarnings("cast")
    method newProxyInstance (line 2671) | static some_test_AllTypesRealmProxy newProxyInstance(BaseRealm realm, ...
    method copyOrUpdate (line 2680) | public static some.test.AllTypes copyOrUpdate(Realm realm, AllTypesCol...
    method copy (line 2724) | public static some.test.AllTypes copy(Realm realm, AllTypesColumnInfo ...
    method insert (line 2916) | public static long insert(Realm realm, some.test.AllTypes object, Map<...
    method insert (line 3204) | public static void insert(Realm realm, Iterator<? extends RealmModel> ...
    method insertOrUpdate (line 3499) | public static long insertOrUpdate(Realm realm, some.test.AllTypes obje...
    method insertOrUpdate (line 3902) | public static void insertOrUpdate(Realm realm, Iterator<? extends Real...
    method createDetachedCopy (line 4312) | public static some.test.AllTypes createDetachedCopy(some.test.AllTypes...
    method update (line 4576) | static some.test.AllTypes update(Realm realm, AllTypesColumnInfo colum...
    method toString (line 4719) | @Override
    method realmGet$proxyState (line 4917) | @Override
    method hashCode (line 4922) | @Override
    method equals (line 4935) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/some_test_AllTypesRealmProxy.java
  class some_test_AllTypesRealmProxy (line 42) | @SuppressWarnings("all")
    class AllTypesColumnInfo (line 46) | static final class AllTypesColumnInfo extends ColumnInfo {
      method AllTypesColumnInfo (line 95) | AllTypesColumnInfo(OsSchemaInfo schemaInfo) {
      method AllTypesColumnInfo (line 148) | AllTypesColumnInfo(ColumnInfo src, boolean mutable) {
      method copy (line 153) | @Override
      method copy (line 158) | @Override
    method getProxyState (line 218) | @Override protected ProxyState<some.test.AllTypes> getProxyState() { r...
    method getColumnIndex (line 219) | @Override protected long getColumnIndex() { return columnInfo.columnMu...
    method some_test_AllTypesRealmProxy (line 256) | some_test_AllTypesRealmProxy() {
    method realm$injectObjectContext (line 260) | @Override
    method realmGet$columnString (line 274) | @Override
    method realmSet$columnString (line 281) | @Override
    method realmGet$columnLong (line 292) | @Override
    method realmSet$columnLong (line 299) | @Override
    method realmGet$columnFloat (line 314) | @Override
    method realmSet$columnFloat (line 321) | @Override
    method realmGet$columnDouble (line 336) | @Override
    method realmSet$columnDouble (line 343) | @Override
    method realmGet$columnBoolean (line 358) | @Override
    method realmSet$columnBoolean (line 365) | @Override
    method realmGet$columnDecimal128 (line 380) | @Override
    method realmSet$columnDecimal128 (line 387) | @Override
    method realmGet$columnObjectId (line 408) | @Override
    method realmSet$columnObjectId (line 415) | @Override
    method realmGet$columnUUID (line 436) | @Override
    method realmSet$columnUUID (line 443) | @Override
    method realmGet$columnDate (line 464) | @Override
    method realmSet$columnDate (line 471) | @Override
    method realmGet$columnRealmAny (line 492) | @Override
    method realmSet$columnRealmAny (line 499) | @Override
    method realmGet$columnBinary (line 531) | @Override
    method realmSet$columnBinary (line 538) | @Override
    method realmGet$columnMutableRealmInteger (line 559) | @Override
    method realmGet$columnObject (line 565) | @Override
    method realmSet$columnObject (line 574) | @Override
    method realmGet$columnObjectWithoutPk (line 607) | @Override
    method realmSet$columnObjectWithoutPk (line 616) | @Override
    method realmGet$columnRealmList (line 649) | @Override
    method realmSet$columnRealmList (line 662) | @Override
    method realmGet$columnRealmListNoPk (line 710) | @Override
    method realmSet$columnRealmListNoPk (line 723) | @Override
    method realmGet$columnRealmFinalList (line 771) | @Override
    method realmSet$columnRealmFinalList (line 784) | @Override
    method realmGet$columnRealmFinalListNoPk (line 832) | @Override
    method realmSet$columnRealmFinalListNoPk (line 845) | @Override
    method realmGet$columnStringList (line 893) | @Override
    method realmSet$columnStringList (line 906) | @Override
    method realmGet$columnBinaryList (line 932) | @Override
    method realmSet$columnBinaryList (line 945) | @Override
    method realmGet$columnBooleanList (line 971) | @Override
    method realmSet$columnBooleanList (line 984) | @Override
    method realmGet$columnLongList (line 1010) | @Override
    method realmSet$columnLongList (line 1023) | @Override
    method realmGet$columnIntegerList (line 1049) | @Override
    method realmSet$columnIntegerList (line 1062) | @Override
    method realmGet$columnShortList (line 1088) | @Override
    method realmSet$columnShortList (line 1101) | @Override
    method realmGet$columnByteList (line 1127) | @Override
    method realmSet$columnByteList (line 1140) | @Override
    method realmGet$columnDoubleList (line 1166) | @Override
    method realmSet$columnDoubleList (line 1179) | @Override
    method realmGet$columnFloatList (line 1205) | @Override
    method realmSet$columnFloatList (line 1218) | @Override
    method realmGet$columnDateList (line 1244) | @Override
    method realmSet$columnDateList (line 1257) | @Override
    method realmGet$columnDecimal128List (line 1283) | @Override
    method realmSet$columnDecimal128List (line 1296) | @Override
    method realmGet$columnObjectIdList (line 1322) | @Override
    method realmSet$columnObjectIdList (line 1335) | @Override
    method realmGet$columnUUIDList (line 1361) | @Override
    method realmSet$columnUUIDList (line 1374) | @Override
    method realmGet$columnRealmAnyList (line 1400) | @Override
    method realmSet$columnRealmAnyList (line 1413) | @Override
    method realmGet$columnRealmDictionary (line 1447) | @Override
    method realmSet$columnRealmDictionary (line 1460) | @Override
    method realmGet$columnBooleanDictionary (line 1504) | @Override
    method realmSet$columnBooleanDictionary (line 1517) | @Override
    method realmGet$columnStringDictionary (line 1541) | @Override
    method realmSet$columnStringDictionary (line 1554) | @Override
    method realmGet$columnIntegerDictionary (line 1578) | @Override
    method realmSet$columnIntegerDictionary (line 1591) | @Override
    method realmGet$columnFloatDictionary (line 1615) | @Override
    method realmSet$columnFloatDictionary (line 1628) | @Override
    method realmGet$columnLongDictionary (line 1652) | @Override
    method realmSet$columnLongDictionary (line 1665) | @Override
    method realmGet$columnShortDictionary (line 1689) | @Override
    method realmSet$columnShortDictionary (line 1702) | @Override
    method realmGet$columnDoubleDictionary (line 1726) | @Override
    method realmSet$columnDoubleDictionary (line 1739) | @Override
    method realmGet$columnByteDictionary (line 1763) | @Override
    method realmSet$columnByteDictionary (line 1776) | @Override
    method realmGet$columnBinaryDictionary (line 1800) | @Override
    method realmSet$columnBinaryDictionary (line 1813) | @Override
    method realmGet$columnDateDictionary (line 1837) | @Override
    method realmSet$columnDateDictionary (line 1850) | @Override
    method realmGet$columnObjectIdDictionary (line 1874) | @Override
    method realmSet$columnObjectIdDictionary (line 1887) | @Override
    method realmGet$columnUUIDDictionary (line 1911) | @Override
    method realmSet$columnUUIDDictionary (line 1924) | @Override
    method realmGet$columnDecimal128Dictionary (line 1948) | @Override
    method realmSet$columnDecimal128Dictionary (line 1961) | @Override
    method realmGet$columnRealmAnyDictionary (line 1985) | @Override
    method realmSet$columnRealmAnyDictionary (line 1998) | @Override
    method realmGet$parentObjects (line 2046) | @Override
    method createExpectedObjectSchemaInfo (line 2057) | private static OsObjectSchemaInfo createExpectedObjectSchemaInfo() {
    method getExpectedObjectSchemaInfo (line 2110) | public static OsObjectSchemaInfo getExpectedObjectSchemaInfo() {
    method createColumnInfo (line 2114) | public static AllTypesColumnInfo createColumnInfo(OsSchemaInfo schemaI...
    method getSimpleClassName (line 2118) | public static String getSimpleClassName() {
    class ClassNameHelper (line 2122) | public static final class ClassNameHelper {
    method createOrUpdateUsingJsonObject (line 2126) | @SuppressWarnings("cast")
    method createUsingJsonStream (line 2132) | @SuppressWarnings("cast")
    method newProxyInstance (line 2139) | static some_test_AllTypesRealmProxy newProxyInstance(BaseRealm realm, ...
    method copyOrUpdate (line 2148) | public static some.test.AllTypes copyOrUpdate(Realm realm, AllTypesCol...
    method copy (line 2192) | public static some.test.AllTypes copy(Realm realm, AllTypesColumnInfo ...
    method insert (line 2384) | public static long insert(Realm realm, some.test.AllTypes object, Map<...
    method insert (line 2846) | public static void insert(Realm realm, Iterator<? extends RealmModel> ...
    method insertOrUpdate (line 3315) | public static long insertOrUpdate(Realm realm, some.test.AllTypes obje...
    method insertOrUpdate (line 3892) | public static void insertOrUpdate(Realm realm, Iterator<? extends Real...
    method createDetachedCopy (line 4476) | public static some.test.AllTypes createDetachedCopy(some.test.AllTypes...
    method update (line 4740) | static some.test.AllTypes update(Realm realm, AllTypesColumnInfo colum...
    method toString (line 4936) | @Override
    method realmGet$proxyState (line 5134) | @Override
    method hashCode (line 5139) | @Override
    method equals (line 5152) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/some_test_BooleansRealmProxy.java
  class some_test_BooleansRealmProxy (line 41) | @SuppressWarnings("all")
    class BooleansColumnInfo (line 45) | static final class BooleansColumnInfo extends ColumnInfo {
      method BooleansColumnInfo (line 51) | BooleansColumnInfo(OsSchemaInfo schemaInfo) {
      method BooleansColumnInfo (line 60) | BooleansColumnInfo(ColumnInfo src, boolean mutable) {
      method copy (line 65) | @Override
      method copy (line 70) | @Override
    method some_test_BooleansRealmProxy (line 87) | some_test_BooleansRealmProxy() {
    method realm$injectObjectContext (line 91) | @Override
    method realmGet$done (line 105) | @Override
    method realmSet$done (line 112) | @Override
    method realmGet$isReady (line 127) | @Override
    method realmSet$isReady (line 134) | @Override
    method realmGet$mCompleted (line 149) | @Override
    method realmSet$mCompleted (line 156) | @Override
    method realmGet$anotherBoolean (line 171) | @Override
    method realmSet$anotherBoolean (line 178) | @Override
    method createExpectedObjectSchemaInfo (line 193) | private static OsObjectSchemaInfo createExpectedObjectSchemaInfo() {
    method getExpectedObjectSchemaInfo (line 202) | public static OsObjectSchemaInfo getExpectedObjectSchemaInfo() {
    method createColumnInfo (line 206) | public static BooleansColumnInfo createColumnInfo(OsSchemaInfo schemaI...
    method getSimpleClassName (line 210) | public static String getSimpleClassName() {
    class ClassNameHelper (line 214) | public static final class ClassNameHelper {
    method createOrUpdateUsingJsonObject (line 218) | @SuppressWarnings("cast")
    method createUsingJsonStream (line 256) | @SuppressWarnings("cast")
    method newProxyInstance (line 302) | static some_test_BooleansRealmProxy newProxyInstance(BaseRealm realm, ...
    method copyOrUpdate (line 311) | public static some.test.Booleans copyOrUpdate(Realm realm, BooleansCol...
    method copy (line 330) | public static some.test.Booleans copy(Realm realm, BooleansColumnInfo ...
    method insert (line 356) | public static long insert(Realm realm, some.test.Booleans object, Map<...
    method insert (line 372) | public static void insert(Realm realm, Iterator<? extends RealmModel> ...
    method insertOrUpdate (line 395) | public static long insertOrUpdate(Realm realm, some.test.Booleans obje...
    method insertOrUpdate (line 411) | public static void insertOrUpdate(Realm realm, Iterator<? extends Real...
    method createDetachedCopy (line 434) | public static some.test.Booleans createDetachedCopy(some.test.Booleans...
    method toString (line 462) | @Override
    method realmGet$proxyState (line 488) | @Override
    method hashCode (line 493) | @Override
    method equals (line 506) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/some_test_EmbeddedClassRealmProxy.java
  class some_test_EmbeddedClassRealmProxy (line 41) | @SuppressWarnings("all")
    class EmbeddedClassColumnInfo (line 45) | static final class EmbeddedClassColumnInfo extends ColumnInfo {
      method EmbeddedClassColumnInfo (line 49) | EmbeddedClassColumnInfo(OsSchemaInfo schemaInfo) {
      method EmbeddedClassColumnInfo (line 56) | EmbeddedClassColumnInfo(ColumnInfo src, boolean mutable) {
      method copy (line 61) | @Override
      method copy (line 66) | @Override
    method some_test_EmbeddedClassRealmProxy (line 81) | some_test_EmbeddedClassRealmProxy() {
    method realm$injectObjectContext (line 85) | @Override
    method realmGet$name (line 99) | @Override
    method realmSet$name (line 106) | @Override
    method realmGet$age (line 129) | @Override
    method realmSet$age (line 136) | @Override
    method createExpectedObjectSchemaInfo (line 151) | private static OsObjectSchemaInfo createExpectedObjectSchemaInfo() {
    method getExpectedObjectSchemaInfo (line 158) | public static OsObjectSchemaInfo getExpectedObjectSchemaInfo() {
    method createColumnInfo (line 162) | public static EmbeddedClassColumnInfo createColumnInfo(OsSchemaInfo sc...
    method getSimpleClassName (line 166) | public static String getSimpleClassName() {
    class ClassNameHelper (line 170) | public static final class ClassNameHelper {
    method createOrUpdateEmbeddedUsingJsonObject (line 174) | @SuppressWarnings("cast")
    method createUsingJsonStream (line 198) | @SuppressWarnings("cast")
    method newProxyInstance (line 230) | static some_test_EmbeddedClassRealmProxy newProxyInstance(BaseRealm re...
    method copyOrUpdate (line 239) | public static some.test.EmbeddedClass copyOrUpdate(Realm realm, Embedd...
    method copy (line 258) | public static some.test.EmbeddedClass copy(Realm realm, EmbeddedClassC...
    method insert (line 282) | public static long insert(Realm realm, Table parentObjectTable, long p...
    method insert (line 296) | public static void insert(Realm realm, Table parentObjectTable, long p...
    method insertOrUpdate (line 320) | public static long insertOrUpdate(Realm realm, Table parentObjectTable...
    method insertOrUpdate (line 339) | public static void insertOrUpdate(Realm realm, Table parentObjectTable...
    method createDetachedCopy (line 365) | public static some.test.EmbeddedClass createDetachedCopy(some.test.Emb...
    method update (line 391) | static some.test.EmbeddedClass update(Realm realm, EmbeddedClassColumn...
    method updateEmbeddedObject (line 403) | public static void updateEmbeddedObject(Realm realm, some.test.Embedde...
    method toString (line 407) | @Override
    method realmGet$proxyState (line 425) | @Override
    method hashCode (line 430) | @Override
    method equals (line 443) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/some_test_EmbeddedClassSimpleParentRealmProxy.java
  class some_test_EmbeddedClassSimpleParentRealmProxy (line 41) | @SuppressWarnings("all")
    class EmbeddedClassSimpleParentColumnInfo (line 45) | static final class EmbeddedClassSimpleParentColumnInfo extends ColumnI...
      method EmbeddedClassSimpleParentColumnInfo (line 50) | EmbeddedClassSimpleParentColumnInfo(OsSchemaInfo schemaInfo) {
      method EmbeddedClassSimpleParentColumnInfo (line 58) | EmbeddedClassSimpleParentColumnInfo(ColumnInfo src, boolean mutable) {
      method copy (line 63) | @Override
      method copy (line 68) | @Override
    method some_test_EmbeddedClassSimpleParentRealmProxy (line 85) | some_test_EmbeddedClassSimpleParentRealmProxy() {
    method realm$injectObjectContext (line 89) | @Override
    method realmGet$id (line 103) | @Override
    method realmSet$id (line 110) | @Override
    method realmGet$child (line 121) | @Override
    method realmSet$child (line 130) | @Override
    method realmGet$children (line 168) | @Override
    method realmSet$children (line 181) | @Override
    method createExpectedObjectSchemaInfo (line 229) | private static OsObjectSchemaInfo createExpectedObjectSchemaInfo() {
    method getExpectedObjectSchemaInfo (line 237) | public static OsObjectSchemaInfo getExpectedObjectSchemaInfo() {
    method createColumnInfo (line 241) | public static EmbeddedClassSimpleParentColumnInfo createColumnInfo(OsS...
    method getSimpleClassName (line 245) | public static String getSimpleClassName() {
    class ClassNameHelper (line 249) | public static final class ClassNameHelper {
    method createOrUpdateUsingJsonObject (line 253) | @SuppressWarnings("cast")
    method createUsingJsonStream (line 318) | @SuppressWarnings("cast")
    method newProxyInstance (line 369) | static some_test_EmbeddedClassSimpleParentRealmProxy newProxyInstance(...
    method copyOrUpdate (line 378) | public static some.test.EmbeddedClassSimpleParent copyOrUpdate(Realm r...
    method copy (line 422) | public static some.test.EmbeddedClassSimpleParent copy(Realm realm, Em...
    method insert (line 481) | public static long insert(Realm realm, some.test.EmbeddedClassSimplePa...
    method insert (line 528) | public static void insert(Realm realm, Iterator<? extends RealmModel> ...
    method insertOrUpdate (line 582) | public static long insertOrUpdate(Realm realm, some.test.EmbeddedClass...
    method insertOrUpdate (line 631) | public static void insertOrUpdate(Realm realm, Iterator<? extends Real...
    method createDetachedCopy (line 687) | public static some.test.EmbeddedClassSimpleParent createDetachedCopy(s...
    method update (line 730) | static some.test.EmbeddedClassSimpleParent update(Realm realm, Embedde...
    method toString (line 781) | @Override
    method realmGet$proxyState (line 803) | @Override
    method hashCode (line 808) | @Override
    method equals (line 821) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/some_test_NamePolicyMixedClassSettingsRealmProxy.java
  class some_test_NamePolicyMixedClassSettingsRealmProxy (line 41) | @SuppressWarnings("all")
    class NamePolicyMixedClassSettingsColumnInfo (line 45) | static final class NamePolicyMixedClassSettingsColumnInfo extends Colu...
      method NamePolicyMixedClassSettingsColumnInfo (line 49) | NamePolicyMixedClassSettingsColumnInfo(OsSchemaInfo schemaInfo) {
      method NamePolicyMixedClassSettingsColumnInfo (line 56) | NamePolicyMixedClassSettingsColumnInfo(ColumnInfo src, boolean mutab...
      method copy (line 61) | @Override
      method copy (line 66) | @Override
    method some_test_NamePolicyMixedClassSettingsRealmProxy (line 81) | some_test_NamePolicyMixedClassSettingsRealmProxy() {
    method realm$injectObjectContext (line 85) | @Override
    method realmGet$firstName (line 99) | @Override
    method realmSet$firstName (line 106) | @Override
    method realmGet$lastName (line 129) | @Override
    method realmSet$lastName (line 136) | @Override
    method createExpectedObjectSchemaInfo (line 159) | private static OsObjectSchemaInfo createExpectedObjectSchemaInfo() {
    method getExpectedObjectSchemaInfo (line 166) | public static OsObjectSchemaInfo getExpectedObjectSchemaInfo() {
    method createColumnInfo (line 170) | public static NamePolicyMixedClassSettingsColumnInfo createColumnInfo(...
    method getSimpleClassName (line 174) | public static String getSimpleClassName() {
    class ClassNameHelper (line 178) | public static final class ClassNameHelper {
    method createOrUpdateUsingJsonObject (line 182) | @SuppressWarnings("cast")
    method createUsingJsonStream (line 206) | @SuppressWarnings("cast")
    method newProxyInstance (line 238) | static some_test_NamePolicyMixedClassSettingsRealmProxy newProxyInstan...
    method copyOrUpdate (line 247) | public static some.test.NamePolicyMixedClassSettings copyOrUpdate(Real...
    method copy (line 266) | public static some.test.NamePolicyMixedClassSettings copy(Realm realm,...
    method insert (line 290) | public static long insert(Realm realm, some.test.NamePolicyMixedClassS...
    method insert (line 310) | public static void insert(Realm realm, Iterator<? extends RealmModel> ...
    method insertOrUpdate (line 337) | public static long insertOrUpdate(Realm realm, some.test.NamePolicyMix...
    method insertOrUpdate (line 361) | public static void insertOrUpdate(Realm realm, Iterator<? extends Real...
    method createDetachedCopy (line 392) | public static some.test.NamePolicyMixedClassSettings createDetachedCop...
    method toString (line 418) | @Override
    method realmGet$proxyState (line 436) | @Override
    method hashCode (line 441) | @Override
    method equals (line 454) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/some_test_NamePolicyModuleDefaultsRealmProxy.java
  class some_test_NamePolicyModuleDefaultsRealmProxy (line 41) | @SuppressWarnings("all")
    class NamePolicyModuleDefaultsColumnInfo (line 45) | static final class NamePolicyModuleDefaultsColumnInfo extends ColumnIn...
      method NamePolicyModuleDefaultsColumnInfo (line 49) | NamePolicyModuleDefaultsColumnInfo(OsSchemaInfo schemaInfo) {
      method NamePolicyModuleDefaultsColumnInfo (line 56) | NamePolicyModuleDefaultsColumnInfo(ColumnInfo src, boolean mutable) {
      method copy (line 61) | @Override
      method copy (line 66) | @Override
    method some_test_NamePolicyModuleDefaultsRealmProxy (line 81) | some_test_NamePolicyModuleDefaultsRealmProxy() {
    method realm$injectObjectContext (line 85) | @Override
    method realmGet$firstName (line 99) | @Override
    method realmSet$firstName (line 106) | @Override
    method realmGet$lastName (line 129) | @Override
    method realmSet$lastName (line 136) | @Override
    method createExpectedObjectSchemaInfo (line 159) | private static OsObjectSchemaInfo createExpectedObjectSchemaInfo() {
    method getExpectedObjectSchemaInfo (line 166) | public static OsObjectSchemaInfo getExpectedObjectSchemaInfo() {
    method createColumnInfo (line 170) | public static NamePolicyModuleDefaultsColumnInfo createColumnInfo(OsSc...
    method getSimpleClassName (line 174) | public static String getSimpleClassName() {
    class ClassNameHelper (line 178) | public static final class ClassNameHelper {
    method createOrUpdateUsingJsonObject (line 182) | @SuppressWarnings("cast")
    method createUsingJsonStream (line 206) | @SuppressWarnings("cast")
    method newProxyInstance (line 238) | static some_test_NamePolicyModuleDefaultsRealmProxy newProxyInstance(B...
    method copyOrUpdate (line 247) | public static some.test.NamePolicyModuleDefaults copyOrUpdate(Realm re...
    method copy (line 266) | public static some.test.NamePolicyModuleDefaults copy(Realm realm, Nam...
    method insert (line 290) | public static long insert(Realm realm, some.test.NamePolicyModuleDefau...
    method insert (line 310) | public static void insert(Realm realm, Iterator<? extends RealmModel> ...
    method insertOrUpdate (line 337) | public static long insertOrUpdate(Realm realm, some.test.NamePolicyMod...
    method insertOrUpdate (line 361) | public static void insertOrUpdate(Realm realm, Iterator<? extends Real...
    method createDetachedCopy (line 392) | public static some.test.NamePolicyModuleDefaults createDetachedCopy(so...
    method toString (line 418) | @Override
    method realmGet$proxyState (line 436) | @Override
    method hashCode (line 441) | @Override
    method equals (line 454) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/some_test_NullTypesRealmProxy.java
  class some_test_NullTypesRealmProxy (line 41) | @SuppressWarnings("all")
    class NullTypesColumnInfo (line 45) | static final class NullTypesColumnInfo extends ColumnInfo {
      method NullTypesColumnInfo (line 96) | NullTypesColumnInfo(OsSchemaInfo schemaInfo) {
      method NullTypesColumnInfo (line 150) | NullTypesColumnInfo(ColumnInfo src, boolean mutable) {
      method copy (line 155) | @Override
      method copy (line 160) | @Override
    method some_test_NullTypesRealmProxy (line 246) | some_test_NullTypesRealmProxy() {
    method realm$injectObjectContext (line 250) | @Override
    method realmGet$fieldStringNotNull (line 264) | @Override
    method realmSet$fieldStringNotNull (line 271) | @Override
    method realmGet$fieldStringNull (line 292) | @Override
    method realmSet$fieldStringNull (line 299) | @Override
    method realmGet$fieldBooleanNotNull (line 322) | @Override
    method realmSet$fieldBooleanNotNull (line 329) | @Override
    method realmGet$fieldBooleanNull (line 350) | @Override
    method realmSet$fieldBooleanNull (line 360) | @Override
    method realmGet$fieldBytesNotNull (line 383) | @Override
    method realmSet$fieldBytesNotNull (line 390) | @Override
    method realmGet$fieldBytesNull (line 411) | @Override
    method realmSet$fieldBytesNull (line 418) | @Override
    method realmGet$fieldByteNotNull (line 441) | @Override
    method realmSet$fieldByteNotNull (line 448) | @Override
    method realmGet$fieldByteNull (line 469) | @Override
    method realmSet$fieldByteNull (line 479) | @Override
    method realmGet$fieldShortNotNull (line 502) | @Override
    method realmSet$fieldShortNotNull (line 509) | @Override
    method realmGet$fieldShortNull (line 530) | @Override
    method realmSet$fieldShortNull (line 540) | @Override
    method realmGet$fieldIntegerNotNull (line 563) | @Override
    method realmSet$fieldIntegerNotNull (line 570) | @Override
    method realmGet$fieldIntegerNull (line 591) | @Override
    method realmSet$fieldIntegerNull (line 601) | @Override
    method realmGet$fieldLongNotNull (line 624) | @Override
    method realmSet$fieldLongNotNull (line 631) | @Override
    method realmGet$fieldLongNull (line 652) | @Override
    method realmSet$fieldLongNull (line 662) | @Override
    method realmGet$fieldFloatNotNull (line 685) | @Override
    method realmSet$fieldFloatNotNull (line 692) | @Override
    method realmGet$fieldFloatNull (line 713) | @Override
    method realmSet$fieldFloatNull (line 723) | @Override
    method realmGet$fieldDoubleNotNull (line 746) | @Override
    method realmSet$fieldDoubleNotNull (line 753) | @Override
    method realmGet$fieldDoubleNull (line 774) | @Override
    method realmSet$fieldDoubleNull (line 784) | @Override
    method realmGet$fieldDateNotNull (line 807) | @Override
    method realmSet$fieldDateNotNull (line 814) | @Override
    method realmGet$fieldDateNull (line 835) | @Override
    method realmSet$fieldDateNull (line 845) | @Override
    method realmGet$fieldDecimal128NotNull (line 868) | @Override
    method realmSet$fieldDecimal128NotNull (line 875) | @Override
    method realmGet$fieldDecimal128Null (line 896) | @Override
    method realmSet$fieldDecimal128Null (line 906) | @Override
    method realmGet$fieldObjectIdNotNull (line 929) | @Override
    method realmSet$fieldObjectIdNotNull (line 936) | @Override
    method realmGet$fieldObjectIdNull (line 957) | @Override
    method realmSet$fieldObjectIdNull (line 967) | @Override
    method realmGet$fieldObjectNull (line 990) | @Override
    method realmSet$fieldObjectNull (line 999) | @Override
    method realmGet$fieldStringListNotNull (line 1032) | @Override
    method realmSet$fieldStringListNotNull (line 1045) | @Override
    method realmGet$fieldStringListNull (line 1071) | @Override
    method realmSet$fieldStringListNull (line 1084) | @Override
    method realmGet$fieldBinaryListNotNull (line 1110) | @Override
    method realmSet$fieldBinaryListNotNull (line 1123) | @Override
    method realmGet$fieldBinaryListNull (line 1149) | @Override
    method realmSet$fieldBinaryListNull (line 1162) | @Override
    method realmGet$fieldBooleanListNotNull (line 1188) | @Override
    method realmSet$fieldBooleanListNotNull (line 1201) | @Override
    method realmGet$fieldBooleanListNull (line 1227) | @Override
    method realmSet$fieldBooleanListNull (line 1240) | @Override
    method realmGet$fieldLongListNotNull (line 1266) | @Override
    method realmSet$fieldLongListNotNull (line 1279) | @Override
    method realmGet$fieldLongListNull (line 1305) | @Override
    method realmSet$fieldLongListNull (line 1318) | @Override
    method realmGet$fieldIntegerListNotNull (line 1344) | @Override
    method realmSet$fieldIntegerListNotNull (line 1357) | @Override
    method realmGet$fieldIntegerListNull (line 1383) | @Override
    method realmSet$fieldIntegerListNull (line 1396) | @Override
    method realmGet$fieldShortListNotNull (line 1422) | @Override
    method realmSet$fieldShortListNotNull (line 1435) | @Override
    method realmGet$fieldShortListNull (line 1461) | @Override
    method realmSet$fieldShortListNull (line 1474) | @Override
    method realmGet$fieldByteListNotNull (line 1500) | @Override
    method realmSet$fieldByteListNotNull (line 1513) | @Override
    method realmGet$fieldByteListNull (line 1539) | @Override
    method realmSet$fieldByteListNull (line 1552) | @Override
    method realmGet$fieldDoubleListNotNull (line 1578) | @Override
    method realmSet$fieldDoubleListNotNull (line 1591) | @Override
    method realmGet$fieldDoubleListNull (line 1617) | @Override
    method realmSet$fieldDoubleListNull (line 1630) | @Override
    method realmGet$fieldFloatListNotNull (line 1656) | @Override
    method realmSet$fieldFloatListNotNull (line 1669) | @Override
    method realmGet$fieldFloatListNull (line 1695) | @Override
    method realmSet$fieldFloatListNull (line 1708) | @Override
    method realmGet$fieldDateListNotNull (line 1734) | @Override
    method realmSet$fieldDateListNotNull (line 1747) | @Override
    method realmGet$fieldDateListNull (line 1773) | @Override
    method realmSet$fieldDateListNull (line 1786) | @Override
    method realmGet$fieldDecimal128ListNotNull (line 1812) | @Override
    method realmSet$fieldDecimal128ListNotNull (line 1825) | @Override
    method realmGet$fieldDecimal128ListNull (line 1851) | @Override
    method realmSet$fieldDecimal128ListNull (line 1864) | @Override
    method realmGet$fieldObjectIdListNotNull (line 1890) | @Override
    method realmSet$fieldObjectIdListNotNull (line 1903) | @Override
    method realmGet$fieldObjectIdListNull (line 1929) | @Override
    method realmSet$fieldObjectIdListNull (line 1942) | @Override
    method createExpectedObjectSchemaInfo (line 1968) | private static OsObjectSchemaInfo createExpectedObjectSchemaInfo() {
    method getExpectedObjectSchemaInfo (line 2022) | public static OsObjectSchemaInfo getExpectedObjectSchemaInfo() {
    method createColumnInfo (line 2026) | public static NullTypesColumnInfo createColumnInfo(OsSchemaInfo schema...
    method getSimpleClassName (line 2030) | public static String getSimpleClassName() {
    class ClassNameHelper (line 2034) | public static final class ClassNameHelper {
    method createOrUpdateUsingJsonObject (line 2038) | @SuppressWarnings("cast")
    method createUsingJsonStream (line 2369) | @SuppressWarnings("cast")
    method newProxyInstance (line 2621) | static some_test_NullTypesRealmProxy newProxyInstance(BaseRealm realm,...
    method copyOrUpdate (line 2630) | public static some.test.NullTypes copyOrUpdate(Realm realm, NullTypesC...
    method copy (line 2649) | public static some.test.NullTypes copy(Realm realm, NullTypesColumnInf...
    method insert (line 2732) | public static long insert(Realm realm, some.test.NullTypes object, Map...
    method insert (line 3137) | public static void insert(Realm realm, Iterator<? extends RealmModel> ...
    method insertOrUpdate (line 3549) | public static long insertOrUpdate(Realm realm, some.test.NullTypes obj...
    method insertOrUpdate (line 4052) | public static void insertOrUpdate(Realm realm, Iterator<? extends Real...
    method createDetachedCopy (line 4562) | public static some.test.NullTypes createDetachedCopy(some.test.NullTyp...
    method toString (line 4685) | @Override
    method realmGet$proxyState (line 4891) | @Override
    method hashCode (line 4896) | @Override
    method equals (line 4909) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/io/realm/some_test_SimpleRealmProxy.java
  class some_test_SimpleRealmProxy (line 41) | @SuppressWarnings("all")
    class SimpleColumnInfo (line 45) | static final class SimpleColumnInfo extends ColumnInfo {
      method SimpleColumnInfo (line 49) | SimpleColumnInfo(OsSchemaInfo schemaInfo) {
      method SimpleColumnInfo (line 56) | SimpleColumnInfo(ColumnInfo src, boolean mutable) {
      method copy (line 61) | @Override
      method copy (line 66) | @Override
    method some_test_SimpleRealmProxy (line 81) | some_test_SimpleRealmProxy() {
    method realm$injectObjectContext (line 85) | @Override
    method realmGet$name (line 99) | @Override
    method realmSet$name (line 106) | @Override
    method realmGet$age (line 129) | @Override
    method realmSet$age (line 136) | @Override
    method createExpectedObjectSchemaInfo (line 151) | private static OsObjectSchemaInfo createExpectedObjectSchemaInfo() {
    method getExpectedObjectSchemaInfo (line 158) | public static OsObjectSchemaInfo getExpectedObjectSchemaInfo() {
    method createColumnInfo (line 162) | public static SimpleColumnInfo createColumnInfo(OsSchemaInfo schemaInf...
    method getSimpleClassName (line 166) | public static String getSimpleClassName() {
    class ClassNameHelper (line 170) | public static final class ClassNameHelper {
    method createOrUpdateUsingJsonObject (line 174) | @SuppressWarnings("cast")
    method createUsingJsonStream (line 198) | @SuppressWarnings("cast")
    method newProxyInstance (line 230) | static some_test_SimpleRealmProxy newProxyInstance(BaseRealm realm, Ro...
    method copyOrUpdate (line 239) | public static some.test.Simple copyOrUpdate(Realm realm, SimpleColumnI...
    method copy (line 258) | public static some.test.Simple copy(Realm realm, SimpleColumnInfo colu...
    method insert (line 282) | public static long insert(Realm realm, some.test.Simple object, Map<Re...
    method insert (line 299) | public static void insert(Realm realm, Iterator<? extends RealmModel> ...
    method insertOrUpdate (line 323) | public static long insertOrUpdate(Realm realm, some.test.Simple object...
    method insertOrUpdate (line 342) | public static void insertOrUpdate(Realm realm, Iterator<? extends Real...
    method createDetachedCopy (line 368) | public static some.test.Simple createDetachedCopy(some.test.Simple rea...
    method realmGet$proxyState (line 394) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/some/test/AllTypes.java
  class AllTypes (line 35) | public class AllTypes extends RealmObject {
    method getColumnString (line 108) | public String getColumnString() {
    method setColumnString (line 112) | public void setColumnString(String columnString) {
    method realmGet$columnString (line 116) | public String realmGet$columnString() {
    method realmSet$columnString (line 120) | public void realmSet$columnString(String columnString) {
    method getColumnLong (line 124) | public long getColumnLong() {
    method setColumnLong (line 128) | public void setColumnLong(long columnLong) {
    method realmGet$columnLong (line 132) | public long realmGet$columnLong() {
    method realmSet$columnLong (line 136) | public void realmSet$columnLong(long columnLong) {
    method getColumnFloat (line 140) | public float getColumnFloat() {
    method setColumnFloat (line 144) | public void setColumnFloat(float columnFloat) {
    method realmGet$columnFloat (line 148) | public float realmGet$columnFloat() {
    method realmSet$columnFloat (line 152) | public void realmSet$columnFloat(float columnFloat) {
    method getColumnDouble (line 156) | public double getColumnDouble() {
    method setColumnDouble (line 160) | public void setColumnDouble(double columnDouble) {
    method realmGet$columnDouble (line 164) | public double realmGet$columnDouble() {
    method realmSet$columnDouble (line 168) | public void realmSet$columnDouble(double columnDouble) {
    method isColumnBoolean (line 172) | public boolean isColumnBoolean() {
    method setColumnBoolean (line 176) | public void setColumnBoolean(boolean columnBoolean) {
    method realmGet$columnBoolean (line 180) | public boolean realmGet$columnBoolean() {
    method realmSet$columnBoolean (line 184) | public void realmSet$columnBoolean(boolean columnBoolean) {
    method getColumnDate (line 188) | public Date getColumnDate() {
    method setColumnDate (line 192) | public void setColumnDate(Date columnDate) {
    method realmGet$columnDate (line 196) | public Date realmGet$columnDate() {
    method realmSet$columnDate (line 200) | public void realmSet$columnDate(Date columnDate) {
    method getColumnBinary (line 204) | public byte[] getColumnBinary() {
    method setColumnBinary (line 208) | public void setColumnBinary(byte[] columnBinary) {
    method realmGet$columnBinary (line 212) | public byte[] realmGet$columnBinary() {
    method realmSet$columnBinary (line 216) | public void realmSet$columnBinary(byte[] columnBinary) {
    method getColumnObject (line 220) | public AllTypes getColumnObject() {
    method setColumnObject (line 224) | public void setColumnObject(AllTypes columnObject) {
    method realmGet$columnObject (line 228) | public AllTypes realmGet$columnObject() {
    method realmSet$columnObject (line 232) | public void realmSet$columnObject(AllTypes columnObject) {
    method getColumnRealmList (line 236) | public RealmList<AllTypes> getColumnRealmList() {
    method setColumnRealmList (line 240) | public void setColumnRealmList(RealmList<AllTypes> columnRealmList) {
    method realmGet$columnRealmList (line 244) | public RealmList<AllTypes> realmGet$columnRealmList() {
    method realmSet$columnRealmList (line 248) | public void realmSet$columnRealmList(RealmList<AllTypes> columnRealmLi...
    method getColumnMutableRealmInteger (line 252) | public MutableRealmInteger getColumnMutableRealmInteger() {
    method realmGet$columnMutableRealmInteger (line 256) | public MutableRealmInteger realmGet$columnMutableRealmInteger() {
    method getColumnRealmAny (line 260) | public RealmAny getColumnRealmAny() {
    method realmGet$columnRealmAny (line 264) | public RealmAny realmGet$columnRealmAny() {
    method getColumnRealmDictionary (line 268) | public RealmDictionary<AllTypes> getColumnRealmDictionary() {
    method setColumnRealmDictionary (line 272) | public void setColumnRealmDictionary(RealmDictionary<AllTypes> columnR...
    method getColumnBooleanDictionary (line 276) | public RealmDictionary<Boolean> getColumnBooleanDictionary() {
    method setColumnBooleanDictionary (line 280) | public void setColumnBooleanDictionary(RealmDictionary<Boolean> column...
    method getColumnStringDictionary (line 284) | public RealmDictionary<String> getColumnStringDictionary() {
    method setColumnStringDictionary (line 288) | public void setColumnStringDictionary(RealmDictionary<String> columnSt...
    method getColumnIntegerDictionary (line 292) | public RealmDictionary<Integer> getColumnIntegerDictionary() {
    method setColumnIntegerDictionary (line 296) | public void setColumnIntegerDictionary(RealmDictionary<Integer> column...
    method getColumnFloatDictionary (line 300) | public RealmDictionary<Float> getColumnFloatDictionary() {
    method setColumnFloatDictionary (line 304) | public void setColumnFloatDictionary(RealmDictionary<Float> columnFloa...
    method getColumnLongDictionary (line 308) | public RealmDictionary<Long> getColumnLongDictionary() {
    method setColumnLongDictionary (line 312) | public void setColumnLongDictionary(RealmDictionary<Long> columnLongDi...
    method getColumnShortDictionary (line 316) | public RealmDictionary<Short> getColumnShortDictionary() {
    method setColumnShortDictionary (line 320) | public void setColumnShortDictionary(RealmDictionary<Short> columnShor...
    method getColumnDoubleDictionary (line 324) | public RealmDictionary<Double> getColumnDoubleDictionary() {
    method setColumnDoubleDictionary (line 328) | public void setColumnDoubleDictionary(RealmDictionary<Double> columnDo...
    method getColumnByteDictionary (line 332) | public RealmDictionary<Byte> getColumnByteDictionary() {
    method setColumnByteDictionary (line 336) | public void setColumnByteDictionary(RealmDictionary<Byte> columnByteDi...
    method getColumnBinaryDictionary (line 340) | public RealmDictionary<byte[]> getColumnBinaryDictionary() {
    method setColumnBinaryDictionary (line 344) | public void setColumnBinaryDictionary(RealmDictionary<byte[]> columnBi...
    method getColumnDateDictionary (line 348) | public RealmDictionary<Date> getColumnDateDictionary() {
    method setColumnDateDictionary (line 352) | public void setColumnDateDictionary(RealmDictionary<Date> columnDateDi...
    method getColumnObjectIdDictionary (line 356) | public RealmDictionary<ObjectId> getColumnObjectIdDictionary() {
    method setColumnObjectIdDictionary (line 360) | public void setColumnObjectIdDictionary(RealmDictionary<ObjectId> colu...
    method getColumnUUIDDictionary (line 364) | public RealmDictionary<UUID> getColumnUUIDDictionary() {
    method setColumnUUIDDictionary (line 368) | public void setColumnUUIDDictionary(RealmDictionary<UUID> columnUUIDDi...
    method getColumnDecimal128Dictionary (line 372) | public RealmDictionary<Decimal128> getColumnDecimal128Dictionary() {
    method setColumnDecimal128Dictionary (line 376) | public void setColumnDecimal128Dictionary(RealmDictionary<Decimal128> ...
    method getColumnRealmAnyDictionary (line 380) | public RealmDictionary<RealmAny> getColumnRealmAnyDictionary() {
    method setColumnRealmAnyDictionary (line 384) | public void setColumnRealmAnyDictionary(RealmDictionary<RealmAny> colu...

FILE: realm/realm-annotations-processor/src/test/resources/some/test/AppModuleAllClasses.java
  class AppModuleAllClasses (line 26) | @RealmModule(allClasses = true)

FILE: realm/realm-annotations-processor/src/test/resources/some/test/AppModuleCustomClasses.java
  class AppModuleCustomClasses (line 26) | @RealmModule(classes = { AllTypes.class, Simple.class })

FILE: realm/realm-annotations-processor/src/test/resources/some/test/BacklinkSelfReference.java
  class BacklinkSelfReference (line 8) | public class BacklinkSelfReference extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/BacklinkSource.java
  class BacklinkSource (line 6) | public class BacklinkSource extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/BacklinkTarget.java
  class BacklinkTarget (line 7) | public class BacklinkTarget extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/Booleans.java
  class Booleans (line 21) | public class Booleans extends RealmObject {
    method isDone (line 27) | public boolean isDone() {
    method setDone (line 31) | public void setDone(boolean done) {
    method realmGet$done (line 35) | public boolean realmGet$done() {
    method realmSet$done (line 39) | public void realmSet$done(boolean done) {
    method isReady (line 43) | public boolean isReady() {
    method setIsReady (line 47) | public void setIsReady(boolean isReady) {
    method realmGet$isReady (line 51) | public boolean realmGet$isReady() {
    method realmSet$isReady (line 55) | public void realmSet$isReady(boolean isReady) {
    method ismCompleted (line 59) | public boolean ismCompleted() {
    method setMCompleted (line 63) | public void setMCompleted(boolean mCompleted) {
    method realmGet$mCompleted (line 67) | public boolean realmGet$mCompleted() {
    method realmSet$mCompleted (line 71) | public void realmSet$mCompleted(boolean mCompleted) {
    method getAnotherBoolean (line 75) | public boolean getAnotherBoolean() {
    method setAnotherBoolean (line 79) | public void setAnotherBoolean(boolean anotherBoolean) {
    method realmGet$anotherBoolean (line 83) | public boolean realmGet$anotherBoolean() {
    method realmSet$anotherBoolean (line 87) | public void realmSet$anotherBoolean(boolean anotherBoolean) {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/ConflictingFieldName.java
  class ConflictingFieldName (line 24) | public class ConflictingFieldName extends RealmObject {
    method getRealmString (line 32) | public String getRealmString() {
    method setRealmString (line 36) | public void setRealmString(String realm) {
    method getRow (line 40) | public String getRow() {
    method setRow (line 44) | public void setRow(String row) {
    method getListeners (line 48) | public String getListeners() {
    method setListeners (line 52) | public void setListeners(String listeners) {
    method getPendingQuery (line 56) | public String getPendingQuery() {
    method setPendingQuery (line 60) | public void setPendingQuery(String pendingQuery) {
    method getIsCompleted (line 64) | public String getIsCompleted() {
    method setIsCompleted (line 68) | public void setIsCompleted(String isCompleted) {
    method getCurrentTableVersion (line 72) | public String getCurrentTableVersion() {
    method setCurrentTableVersion (line 76) | public void setCurrentTableVersion(String currentTableVersion) {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/CustomAccessor.java
  class CustomAccessor (line 5) | public class CustomAccessor extends RealmObject {
    method getColumnString (line 7) | public String getColumnString() {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/CustomInterface.java
  type CustomInterface (line 23) | public interface CustomInterface extends RealmModel {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/EmbeddedClass.java
  class EmbeddedClass (line 22) | @RealmClass(embedded = true)

FILE: realm/realm-annotations-processor/src/test/resources/some/test/EmbeddedClassMissingFieldDescription.java
  class EmbeddedClassMissingFieldDescription (line 24) | @RealmClass(embedded = true)

FILE: realm/realm-annotations-processor/src/test/resources/some/test/EmbeddedClassMissingFinalOnLinkingObjects.java
  class EmbeddedClassMissingFinalOnLinkingObjects (line 24) | @RealmClass(embedded = true)

FILE: realm/realm-annotations-processor/src/test/resources/some/test/EmbeddedClassMultipleRequiredParents.java
  class EmbeddedClassMultipleRequiredParents (line 24) | @RealmClass(embedded = true)

FILE: realm/realm-annotations-processor/src/test/resources/some/test/EmbeddedClassOptionalParents.java
  class EmbeddedClassOptionalParents (line 24) | @RealmClass(embedded = true)

FILE: realm/realm-annotations-processor/src/test/resources/some/test/EmbeddedClassParent.java
  class EmbeddedClassParent (line 25) | public class EmbeddedClassParent extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/EmbeddedClassPrimaryKey.java
  class EmbeddedClassPrimaryKey (line 24) | @RealmClass(embedded = true)

FILE: realm/realm-annotations-processor/src/test/resources/some/test/EmbeddedClassRequiredParent.java
  class EmbeddedClassRequiredParent (line 24) | @RealmClass(embedded = true)

FILE: realm/realm-annotations-processor/src/test/resources/some/test/EmbeddedClassSimpleParent.java
  class EmbeddedClassSimpleParent (line 26) | public class EmbeddedClassSimpleParent extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/EmbeddedObject.java
  class EmbeddedObject (line 24) | @RealmClass(embedded = true)

FILE: realm/realm-annotations-processor/src/test/resources/some/test/Empty.java
  class Empty (line 21) | public class Empty extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/ExtendRealmList.java
  class ExtendRealmList (line 23) | public class ExtendRealmList<E extends RealmModel> extends RealmList<E> {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/FieldNames.java
  class FieldNames (line 29) | public class FieldNames extends RealmObject implements FieldNamesRealmPr...
    method getName (line 34) | public Simple getName() {
    method setName (line 38) | public void setName(Simple name) {
    method realmGet$name (line 42) | public Simple realmGet$name() {
    method realmSet$name (line 46) | public void realmSet$name(Simple name) {
    method getCache (line 50) | public Simple getCache() {
    method setCache (line 54) | public void setCache(Simple cache) {
    method realmGet$cache (line 58) | public Simple realmGet$cache() {
    method realmSet$cache (line 62) | public void realmSet$cache(Simple cache) {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/FieldRealmResults.java
  class FieldRealmResults (line 6) | public class FieldRealmResults extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/Final.java
  class Final (line 21) | public class Final extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {
    method realmGet$name (line 33) | public String realmGet$name() {
    method realmSet$name (line 37) | public void realmSet$name(String name) {
    method getAge (line 41) | public int getAge() {
    method setAge (line 45) | public void setAge(int age) {
    method realmGet$age (line 49) | public int realmGet$age() {
    method realmSet$age (line 53) | public void realmSet$age(int age) {
    method toString (line 57) | @Override
    method equals (line 65) | @Override
    method hashCode (line 78) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InterfaceList.java
  class InterfaceList (line 23) | @RealmClass

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InterfaceObjectReference.java
  class InterfaceObjectReference (line 23) | @RealmClass

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InvalidAllTypesModuleMixedParameters.java
  class InvalidAllTypesModuleMixedParameters (line 27) | @RealmModule(allClasses = true, classes = { AllTypes.class })

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InvalidAllTypesModuleWrongType.java
  class InvalidAllTypesModuleWrongType (line 27) | @RealmModule(classes = { Object.class, AllTypes.class })

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InvalidLibraryModuleMixedParameters.java
  class InvalidLibraryModuleMixedParameters (line 27) | @RealmModule(library = true, allClasses = true, classes = { AllTypes.cla...

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InvalidLibraryModuleWrongType.java
  class InvalidLibraryModuleWrongType (line 27) | @RealmModule(library = true, classes = { Object.class, AllTypes.class })

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InvalidListElementType.java
  class InvalidListElementType (line 26) | public class InvalidListElementType extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InvalidModelRealmModel_1.java
  class InvalidModelRealmModel_1 (line 23) | @RealmClass

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InvalidModelRealmModel_2.java
  class InvalidModelRealmModel_2 (line 22) | public class InvalidModelRealmModel_2 extends Booleans {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InvalidModelRealmModel_3.java
  class InvalidModelRealmModel_3 (line 24) | @RealmClass

FILE: realm/realm-annotations-processor/src/test/resources/some/test/InvalidResultsElementType.java
  class InvalidResultsElementType (line 26) | public class InvalidResultsElementType extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/LibraryModuleAllClasses.java
  class LibraryModuleAllClasses (line 26) | @RealmModule(library = true, allClasses = true)

FILE: realm/realm-annotations-processor/src/test/resources/some/test/LibraryModuleCustomClasses.java
  class LibraryModuleCustomClasses (line 26) | @RealmModule(library = true, classes = { AllTypes.class })

FILE: realm/realm-annotations-processor/src/test/resources/some/test/MissingGenericType.java
  class MissingGenericType (line 22) | class MissingGenericType extends RealmObject {
    method getList (line 25) | public RealmList getList() {
    method setList (line 29) | public void setList(RealmList list) {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/NamePolicyClassOnly.java
  class NamePolicyClassOnly (line 26) | @RealmClass("customName")

FILE: realm/realm-annotations-processor/src/test/resources/some/test/NamePolicyConflictingModuleDefinitionsForAllClasses.java
  class NamePolicyConflictingModuleDefinitionsForAllClasses (line 21) | public class NamePolicyConflictingModuleDefinitionsForAllClasses {
    class MyModule1 (line 23) | @RealmModule(allClasses = true,
    class MyModule2 (line 30) | @RealmModule(allClasses = true,

FILE: realm/realm-annotations-processor/src/test/resources/some/test/NamePolicyConflictingModuleDefinitionsForMixedDefinitions.java
  class NamePolicyConflictingModuleDefinitionsForMixedDefinitions (line 21) | public class NamePolicyConflictingModuleDefinitionsForMixedDefinitions {
    class MyModule1 (line 23) | @RealmModule(classes = { Simple.class },
    class MyModule2 (line 30) | @RealmModule(allClasses = true,

FILE: realm/realm-annotations-processor/src/test/resources/some/test/NamePolicyConflictingModuleDefinitionsForNamedClasses.java
  class NamePolicyConflictingModuleDefinitionsForNamedClasses (line 21) | public class NamePolicyConflictingModuleDefinitionsForNamedClasses {
    class MyModule1 (line 23) | @RealmModule(classes = { Simple.class },
    class MyModule2 (line 30) | @RealmModule(classes = { Simple.class },

FILE: realm/realm-annotations-processor/src/test/resources/some/test/NamePolicyFieldNameOnly.java
  class NamePolicyFieldNameOnly (line 26) | public class NamePolicyFieldNameOnly extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/NamePolicyMixedClassSettings.java
  class NamePolicyMixedClassSettings (line 26) | @RealmClass(name = "customName", fieldNamingPolicy = RealmNamingPolicy.P...

FILE: realm/realm-annotations-processor/src/test/resources/some/test/NamePolicyModule.java
  class NamePolicyModule (line 21) | @RealmModule(allClasses = true, classNamingPolicy = RealmNamingPolicy.PA...

FILE: realm/realm-annotations-processor/src/test/resources/some/test/NamePolicyModuleDefaults.java
  class NamePolicyModuleDefaults (line 25) | public class NamePolicyModuleDefaults extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/NoAccessors.java
  class NoAccessors (line 25) | public class NoAccessors extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/NullTypes.java
  class NullTypes (line 29) | public class NullTypes extends RealmObject {
    method getFieldStringNotNull (line 128) | public String getFieldStringNotNull() {
    method setFieldStringNotNull (line 132) | public void setFieldStringNotNull(String fieldStringNotNull) {
    method realmGet$fieldStringNotNull (line 136) | public String realmGet$fieldStringNotNull() {
    method realmSet$fieldStringNotNull (line 140) | public void realmSet$fieldStringNotNull(String fieldStringNotNull) {
    method getFieldStringNull (line 144) | public String getFieldStringNull() {
    method setFieldStringNull (line 148) | public void setFieldStringNull(String fieldStringNull) {
    method realmGet$fieldStringNull (line 152) | public String realmGet$fieldStringNull() {
    method realmSet$fieldStringNull (line 156) | public void realmSet$fieldStringNull(String fieldStringNull) {
    method getFieldBooleanNotNull (line 160) | public Boolean getFieldBooleanNotNull() {
    method setFieldBooleanNotNull (line 164) | public void setFieldBooleanNotNull(Boolean fieldBooleanNotNull) {
    method realmGet$fieldBooleanNotNull (line 168) | public Boolean realmGet$fieldBooleanNotNull() {
    method realmSet$fieldBooleanNotNull (line 172) | public void realmSet$fieldBooleanNotNull(Boolean fieldBooleanNotNull) {
    method getFieldBooleanNull (line 176) | public Boolean getFieldBooleanNull() {
    method setFieldBooleanNull (line 180) | public void setFieldBooleanNull(Boolean fieldBooleanNull) {
    method realmGet$fieldBooleanNull (line 184) | public Boolean realmGet$fieldBooleanNull() {
    method realmSet$fieldBooleanNull (line 188) | public void realmSet$fieldBooleanNull(Boolean fieldBooleanNull) {
    method getFieldBytesNotNull (line 192) | public byte[] getFieldBytesNotNull() {
    method setFieldBytesNotNull (line 196) | public void setFieldBytesNotNull(byte[] fieldBytesNotNull) {
    method realmGet$fieldBytesNotNull (line 200) | public byte[] realmGet$fieldBytesNotNull() {
    method realmSet$fieldBytesNotNull (line 204) | public void realmSet$fieldBytesNotNull(byte[] fieldBytesNotNull) {
    method getFieldBytesNull (line 208) | public byte[] getFieldBytesNull() {
    method setFieldBytesNull (line 212) | public void setFieldBytesNull(byte[] fieldBytesNull) {
    method realmGet$fieldBytesNull (line 216) | public byte[] realmGet$fieldBytesNull() {
    method realmSet$fieldBytesNull (line 220) | public void realmSet$fieldBytesNull(byte[] fieldBytesNull) {
    method getFieldByteNotNull (line 224) | public Byte getFieldByteNotNull() {
    method setFieldByteNotNull (line 228) | public void setFieldByteNotNull(Byte fieldByteNotNull) {
    method realmGet$fieldByteNotNull (line 232) | public Byte realmGet$fieldByteNotNull() {
    method realmSet$fieldByteNotNull (line 236) | public void realmSet$fieldByteNotNull(Byte fieldByteNotNull) {
    method getFieldByteNull (line 240) | public Byte getFieldByteNull() {
    method setFieldByteNull (line 244) | public void setFieldByteNull(Byte fieldByteNull) {
    method realmGet$fieldByteNull (line 248) | public Byte realmGet$fieldByteNull() {
    method realmSet$fieldByteNull (line 252) | public void realmSet$fieldByteNull(Byte fieldByteNull) {
    method getFieldShortNotNull (line 256) | public Short getFieldShortNotNull() {
    method setFieldShortNotNull (line 260) | public void setFieldShortNotNull(Short fieldShortNotNull) {
    method realmGet$fieldShortNotNull (line 264) | public Short realmGet$fieldShortNotNull() {
    method realmSet$fieldShortNotNull (line 268) | public void realmSet$fieldShortNotNull(Short fieldShortNotNull) {
    method getFieldShortNull (line 272) | public Short getFieldShortNull() {
    method setFieldShortNull (line 276) | public void setFieldShortNull(Short fieldShortNull) {
    method realmGet$fieldShortNull (line 280) | public Short realmGet$fieldShortNull() {
    method realmSet$fieldShortNull (line 284) | public void realmSet$fieldShortNull(Short fieldShortNull) {
    method getFieldIntegerNotNull (line 288) | public Integer getFieldIntegerNotNull() {
    method setFieldIntegerNotNull (line 292) | public void setFieldIntegerNotNull(Integer fieldIntegerNotNull) {
    method realmGet$fieldIntegerNotNull (line 296) | public Integer realmGet$fieldIntegerNotNull() {
    method realmSet$fieldIntegerNotNull (line 300) | public void realmSet$fieldIntegerNotNull(Integer fieldIntegerNotNull) {
    method getFieldIntegerNull (line 304) | public Integer getFieldIntegerNull() {
    method setFieldIntegerNull (line 308) | public void setFieldIntegerNull(Integer fieldIntegerNull) {
    method realmGet$fieldIntegerNull (line 312) | public Integer realmGet$fieldIntegerNull() {
    method realmSet$fieldIntegerNull (line 316) | public void realmSet$fieldIntegerNull(Integer fieldIntegerNull) {
    method getFieldLongNotNull (line 320) | public Long getFieldLongNotNull() {
    method setFieldLongNotNull (line 324) | public void setFieldLongNotNull(Long fieldLongNotNull) {
    method realmGet$fieldLongNotNull (line 328) | public Long realmGet$fieldLongNotNull() {
    method realmSet$fieldLongNotNull (line 332) | public void realmSet$fieldLongNotNull(Long fieldLongNotNull) {
    method getFieldLongNull (line 336) | public Long getFieldLongNull() {
    method setFieldLongNull (line 340) | public void setFieldLongNull(Long fieldLongNull) {
    method realmGet$fieldLongNull (line 344) | public Long realmGet$fieldLongNull() {
    method realmSet$fieldLongNull (line 348) | public void realmSet$fieldLongNull(Long fieldLongNull) {
    method getFieldFloatNotNull (line 352) | public Float getFieldFloatNotNull() {
    method setFieldFloatNotNull (line 356) | public void setFieldFloatNotNull(Float fieldFloatNotNull) {
    method realmGet$fieldFloatNotNull (line 360) | public Float realmGet$fieldFloatNotNull() {
    method realmSet$fieldFloatNotNull (line 364) | public void realmSet$fieldFloatNotNull(Float fieldFloatNotNull) {
    method getFieldFloatNull (line 368) | public Float getFieldFloatNull() {
    method setFieldFloatNull (line 372) | public void setFieldFloatNull(Float fieldFloatNull) {
    method realmGet$fieldFloatNull (line 376) | public Float realmGet$fieldFloatNull() {
    method realmSet$fieldFloatNull (line 380) | public void realmSet$fieldFloatNull(Float fieldFloatNull) {
    method getFieldDoubleNotNull (line 384) | public Double getFieldDoubleNotNull() {
    method setFieldDoubleNotNull (line 388) | public void setFieldDoubleNotNull(Double fieldDoubleNotNull) {
    method realmGet$fieldDoubleNotNull (line 392) | public Double realmGet$fieldDoubleNotNull() {
    method realmSet$fieldDoubleNotNull (line 396) | public void realmSet$fieldDoubleNotNull(Double fieldDoubleNotNull) {
    method getFieldDoubleNull (line 400) | public Double getFieldDoubleNull() {
    method setFieldDoubleNull (line 404) | public void setFieldDoubleNull(Double fieldDoubleNull) {
    method realmGet$fieldDoubleNull (line 408) | public Double realmGet$fieldDoubleNull() {
    method realmSet$fieldDoubleNull (line 412) | public void realmSet$fieldDoubleNull(Double fieldDoubleNull) {
    method getFieldDateNotNull (line 416) | public Date getFieldDateNotNull() {
    method setFieldDateNotNull (line 420) | public void setFieldDateNotNull(Date fieldDateNotNull) {
    method realmGet$fieldDateNotNull (line 424) | public Date realmGet$fieldDateNotNull() {
    method realmSet$fieldDateNotNull (line 428) | public void realmSet$fieldDateNotNull(Date fieldDateNotNull) {
    method getFieldDateNull (line 432) | public Date getFieldDateNull() {
    method setFieldDateNull (line 436) | public void setFieldDateNull(Date fieldDateNull) {
    method realmGet$fieldDateNull (line 440) | public Date realmGet$fieldDateNull() {
    method realmSet$fieldDateNull (line 444) | public void realmSet$fieldDateNull(Date fieldDateNull) {
    method getFieldObjectNull (line 448) | public NullTypes getFieldObjectNull() {
    method setFieldObjectNull (line 452) | public void setFieldObjectNull(NullTypes fieldObjectNull) {
    method realmGet$fieldObjectNull (line 456) | public NullTypes realmGet$fieldObjectNull() {
    method realmSet$fieldObjectNull (line 460) | public void realmSet$fieldObjectNull(NullTypes fieldObjectNull) {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/RealmDictionaryMissingGenerics.java
  class RealmDictionaryMissingGenerics (line 27) | public class RealmDictionaryMissingGenerics extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/RealmDictionaryModel.java
  class RealmDictionaryModel (line 30) | public class RealmDictionaryModel extends RealmObject {
    method getMyRequiredBooleanRealmDictionary (line 64) | public RealmDictionary<Boolean> getMyRequiredBooleanRealmDictionary() {
    method setMyRequiredBooleanRealmDictionary (line 68) | public void setMyRequiredBooleanRealmDictionary(RealmDictionary<Boolea...
    method getMyRequiredStringRealmDictionary (line 72) | public RealmDictionary<String> getMyRequiredStringRealmDictionary() {
    method setMyRequiredStringRealmDictionary (line 76) | public void setMyRequiredStringRealmDictionary(RealmDictionary<String>...
    method getMyRequiredIntegerRealmDictionary (line 80) | public RealmDictionary<Integer> getMyRequiredIntegerRealmDictionary() {
    method setMyRequiredIntegerRealmDictionary (line 84) | public void setMyRequiredIntegerRealmDictionary(RealmDictionary<Intege...
    method getMyRequiredFloatRealmDictionary (line 88) | public RealmDictionary<Float> getMyRequiredFloatRealmDictionary() {
    method setMyRequiredFloatRealmDictionary (line 92) | public void setMyRequiredFloatRealmDictionary(RealmDictionary<Float> m...
    method getMyRequiredLongRealmDictionary (line 96) | public RealmDictionary<Long> getMyRequiredLongRealmDictionary() {
    method setMyRequiredLongRealmDictionary (line 100) | public void setMyRequiredLongRealmDictionary(RealmDictionary<Long> myR...
    method getMyRequiredShortRealmDictionary (line 104) | public RealmDictionary<Short> getMyRequiredShortRealmDictionary() {
    method setMyRequiredShortRealmDictionary (line 108) | public void setMyRequiredShortRealmDictionary(RealmDictionary<Short> m...
    method getMyRequiredByteRealmDictionary (line 112) | public RealmDictionary<Byte> getMyRequiredByteRealmDictionary() {
    method setMyRequiredByteRealmDictionary (line 116) | public void setMyRequiredByteRealmDictionary(RealmDictionary<Byte> myR...
    method getMyRequiredDoubleRealmDictionary (line 120) | public RealmDictionary<Double> getMyRequiredDoubleRealmDictionary() {
    method setMyRequiredDoubleRealmDictionary (line 124) | public void setMyRequiredDoubleRealmDictionary(RealmDictionary<Double>...
    method getMyRequiredDateRealmDictionary (line 128) | public RealmDictionary<Date> getMyRequiredDateRealmDictionary() {
    method setMyRequiredDateRealmDictionary (line 132) | public void setMyRequiredDateRealmDictionary(RealmDictionary<Date> myR...
    method getMyRequiredPrimitiveBinaryRealmDictionary (line 136) | public RealmDictionary<byte[]> getMyRequiredPrimitiveBinaryRealmDictio...
    method setMyRequiredPrimitiveBinaryRealmDictionary (line 140) | public void setMyRequiredPrimitiveBinaryRealmDictionary(RealmDictionar...
    method getMyRequiredObjectIdRealmDictionary (line 144) | public RealmDictionary<ObjectId> getMyRequiredObjectIdRealmDictionary() {
    method setMyRequiredObjectIdRealmDictionary (line 148) | public void setMyRequiredObjectIdRealmDictionary(RealmDictionary<Objec...
    method getMyRequiredUUIDRealmDictionary (line 152) | public RealmDictionary<UUID> getMyRequiredUUIDRealmDictionary() {
    method setMyRequiredUUIDRealmDictionary (line 156) | public void setMyRequiredUUIDRealmDictionary(RealmDictionary<UUID> myR...
    method getMyRequiredDecimal128IdRealmDictionary (line 160) | public RealmDictionary<Decimal128> getMyRequiredDecimal128IdRealmDicti...
    method setMyRequiredDecimal128IdRealmDictionary (line 164) | public void setMyRequiredDecimal128IdRealmDictionary(RealmDictionary<D...
    method getMyRealmDictionaryModel (line 168) | public RealmDictionary<RealmDictionaryModel> getMyRealmDictionaryModel...
    method setMyRealmDictionaryModel (line 172) | public void setMyRealmDictionaryModel(RealmDictionary<RealmDictionaryM...
    method getImmutableRealmDictionaryField (line 176) | public RealmDictionary<Boolean> getImmutableRealmDictionaryField() {
    method getMyRealmAnyRealmDictionary (line 180) | public RealmDictionary<RealmAny> getMyRealmAnyRealmDictionary() {
    method setMyRealmAnyRealmDictionary (line 184) | public void setMyRealmAnyRealmDictionary(RealmDictionary<RealmAny> myR...
    method getMyBooleanRealmDictionary (line 188) | public RealmDictionary<Boolean> getMyBooleanRealmDictionary() {
    method setMyBooleanRealmDictionary (line 192) | public void setMyBooleanRealmDictionary(RealmDictionary<Boolean> myBoo...
    method getMyStringRealmDictionary (line 196) | public RealmDictionary<String> getMyStringRealmDictionary() {
    method setMyStringRealmDictionary (line 200) | public void setMyStringRealmDictionary(RealmDictionary<String> myStrin...
    method getMyIntegerRealmDictionary (line 204) | public RealmDictionary<Integer> getMyIntegerRealmDictionary() {
    method setMyIntegerRealmDictionary (line 208) | public void setMyIntegerRealmDictionary(RealmDictionary<Integer> myInt...
    method getMyFloatRealmDictionary (line 212) | public RealmDictionary<Float> getMyFloatRealmDictionary() {
    method setMyFloatRealmDictionary (line 216) | public void setMyFloatRealmDictionary(RealmDictionary<Float> myFloatRe...
    method getMyLongRealmDictionary (line 220) | public RealmDictionary<Long> getMyLongRealmDictionary() {
    method setMyLongRealmDictionary (line 224) | public void setMyLongRealmDictionary(RealmDictionary<Long> myLongRealm...
    method getMyShortRealmDictionary (line 228) | public RealmDictionary<Short> getMyShortRealmDictionary() {
    method setMyShortRealmDictionary (line 232) | public void setMyShortRealmDictionary(RealmDictionary<Short> myShortRe...
    method getMyByteRealmDictionary (line 236) | public RealmDictionary<Byte> getMyByteRealmDictionary() {
    method setMyByteRealmDictionary (line 240) | public void setMyByteRealmDictionary(RealmDictionary<Byte> myByteRealm...
    method getMyDateRealmDictionary (line 244) | public RealmDictionary<Date> getMyDateRealmDictionary() {
    method setMyDateRealmDictionary (line 248) | public void setMyDateRealmDictionary(RealmDictionary<Date> myDateRealm...
    method getMyDoubleRealmDictionary (line 252) | public RealmDictionary<Double> getMyDoubleRealmDictionary() {
    method setMyDoubleRealmDictionary (line 256) | public void setMyDoubleRealmDictionary(RealmDictionary<Double> myDoubl...
    method getMyBinaryRealmDictionary (line 260) | public RealmDictionary<byte[]> getMyBinaryRealmDictionary() {
    method setBinaryRealmDictionary (line 264) | public void setBinaryRealmDictionary(RealmDictionary<byte[]> myBinaryR...
    method getMyObjectIdRealmDictionary (line 268) | public RealmDictionary<ObjectId> getMyObjectIdRealmDictionary() {
    method setMyObjectIdRealmDictionary (line 272) | public void setMyObjectIdRealmDictionary(RealmDictionary<ObjectId> myO...
    method getMyUUIDRealmDictionary (line 276) | public RealmDictionary<UUID> getMyUUIDRealmDictionary() {
    method setMyUUIDRealmDictionary (line 280) | public void setMyUUIDRealmDictionary(RealmDictionary<UUID> myUUIDRealm...
    method getMyDecimal128IdRealmDictionary (line 284) | public RealmDictionary<Decimal128> getMyDecimal128IdRealmDictionary() {
    method setMyDecimal128IdRealmDictionary (line 288) | public void setMyDecimal128IdRealmDictionary(RealmDictionary<Decimal12...

FILE: realm/realm-annotations-processor/src/test/resources/some/test/RealmDictionaryModelRealmAnyRequired.java
  class RealmDictionaryModelRealmAnyRequired (line 24) | public class RealmDictionaryModelRealmAnyRequired extends RealmObject {
    method getMyRequiredRealmAnyRealmDictionary (line 28) | public RealmDictionary<RealmAny> getMyRequiredRealmAnyRealmDictionary() {
    method setMyRequiredRealmAnyRealmDictionary (line 32) | public void setMyRequiredRealmAnyRealmDictionary(RealmDictionary<Realm...

FILE: realm/realm-annotations-processor/src/test/resources/some/test/RealmDictionaryModelRealmModelRequired.java
  class RealmDictionaryModelRealmModelRequired (line 23) | public class RealmDictionaryModelRealmModelRequired extends RealmObject {
    method getMyRequiredRealmAnyRealmDictionary (line 27) | public RealmDictionary<RealmDictionaryModel> getMyRequiredRealmAnyReal...
    method setMyRequiredRealmAnyRealmDictionary (line 31) | public void setMyRequiredRealmAnyRealmDictionary(RealmDictionary<Realm...

FILE: realm/realm-annotations-processor/src/test/resources/some/test/RealmDictionaryModelWrongType.java
  class RealmDictionaryModelWrongType (line 22) | public class RealmDictionaryModelWrongType extends RealmObject {
    method getMyDictionary (line 26) | public RealmDictionary<Exception> getMyDictionary() {
    method setMyDictionary (line 30) | public void setMyDictionary(RealmDictionary<Exception> dictionary) {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/RealmMapModel.java
  class RealmMapModel (line 26) | public class RealmMapModel extends RealmObject {
    method getMyMap (line 30) | public RealmMap<String, RealmAny> getMyMap() {
    method setMyMap (line 34) | public void setMyMap(RealmMap<String, RealmAny> map) {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/RealmSetMissingGenerics.java
  class RealmSetMissingGenerics (line 27) | public class RealmSetMissingGenerics extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/RealmSetModel.java
  class RealmSetModel (line 28) | public class RealmSetModel extends RealmObject {
    method getStringSet (line 45) | public RealmSet<String> getStringSet() {
    method setStringSet (line 49) | public void setStringSet(RealmSet<String> stringSet) {
    method getIntegerSet (line 53) | public RealmSet<Integer> getIntegerSet() {
    method setIntegerSet (line 57) | public void setIntegerSet(RealmSet<Integer> integerSet) {
    method getLongSet (line 61) | public RealmSet<Long> getLongSet() {
    method setLongSet (line 65) | public void setLongSet(RealmSet<Long> longSet) {
    method getShortSet (line 69) | public RealmSet<Short> getShortSet() {
    method setShortSet (line 73) | public void setShortSet(RealmSet<Short> shortSet) {
    method getByteSet (line 77) | public RealmSet<Byte> getByteSet() {
    method setByteSet (line 81) | public void setByteSet(RealmSet<Byte> byteSet) {
    method getBinarySet (line 85) | public RealmSet<byte[]> getBinarySet() {
    method setBinarySet (line 89) | public void setBinarySet(RealmSet<byte[]> binarySet) {
    method getObjectIdSet (line 93) | public RealmSet<ObjectId> getObjectIdSet() {
    method setObjectIdSet (line 97) | public void setObjectIdSet(RealmSet<ObjectId> objectIdSet) {
    method getUuidSet (line 101) | public RealmSet<UUID> getUuidSet() {
    method setUuidSet (line 105) | public void setUuidSet(RealmSet<UUID> uuidSet) {
    method getFloatSet (line 109) | public RealmSet<Float> getFloatSet() {
    method setFloatSet (line 113) | public void setFloatSet(RealmSet<Float> floatSet) {
    method getDoubleSet (line 117) | public RealmSet<Double> getDoubleSet() {
    method setDoubleSet (line 121) | public void setDoubleSet(RealmSet<Double> doubleSet) {
    method getBooleanSet (line 125) | public RealmSet<Boolean> getBooleanSet() {
    method setBooleanSet (line 129) | public void setBooleanSet(RealmSet<Boolean> booleanSet) {
    method getDateSet (line 133) | public RealmSet<Date> getDateSet() {
    method setDateSet (line 137) | public void setDateSet(RealmSet<Date> dateSet) {
    method getDecimal128Set (line 141) | public RealmSet<Decimal128> getDecimal128Set() {
    method setDecimal128Set (line 145) | public void setDecimal128Set(RealmSet<Decimal128> decimal128Set) {
    method getObjectSet (line 149) | public RealmSet<RealmSetModel> getObjectSet() {
    method setObjectSet (line 153) | public void setObjectSet(RealmSet<RealmSetModel> objectSet) {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/RealmSetModelWrongType.java
  class RealmSetModelWrongType (line 22) | public class RealmSetModelWrongType extends RealmObject {
    method getSet (line 26) | public RealmSet<Exception> getSet() {
    method setSet (line 30) | public void setSet(RealmSet<Exception> set) {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/Simple.java
  class Simple (line 21) | public class Simple extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {
    method realmGet$name (line 33) | public String realmGet$name() {
    method realmSet$name (line 37) | public void realmSet$name(String name) {
    method getAge (line 41) | public int getAge() {
    method setAge (line 45) | public void setAge(int age) {
    method realmGet$age (line 49) | public int realmGet$age() {
    method realmSet$age (line 53) | public void realmSet$age(int age) {
    method toString (line 57) | @Override
    method equals (line 65) | @Override
    method hashCode (line 78) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/some/test/SimpleRealmModel.java
  class SimpleRealmModel (line 24) | @RealmClass

FILE: realm/realm-annotations-processor/src/test/resources/some/test/Transient.java
  class Transient (line 21) | public class Transient extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {
    method getAge (line 33) | public int getAge() {
    method setAge (line 37) | public void setAge(int age) {
    method realmGet$age (line 41) | public int realmGet$age() {
    method realmSet$age (line 45) | public void realmSet$age(int age) {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/UseExtendRealmList.java
  class UseExtendRealmList (line 23) | public class UseExtendRealmList extends RealmObject {
    method extendRealmList (line 26) | public ExtendRealmList<UseExtendRealmList> extendRealmList() {
    method realmSet$extendRealmList (line 30) | public void realmSet$extendRealmList(ExtendRealmList<UseExtendRealmLis...

FILE: realm/realm-annotations-processor/src/test/resources/some/test/ValidModelRealmModel_ExtendingRealmObject.java
  class ValidModelRealmModel_ExtendingRealmObject (line 24) | @RealmClass

FILE: realm/realm-annotations-processor/src/test/resources/some/test/ValueList.java
  class ValueList (line 24) | public class ValueList extends RealmObject {

FILE: realm/realm-annotations-processor/src/test/resources/some/test/Volatile.java
  class Volatile (line 21) | public class Volatile extends RealmObject {
    method getName (line 25) | public String getName() {
    method setName (line 29) | public void setName(String name) {
    method realmGet$name (line 33) | public String realmGet$name() {
    method realmSet$name (line 37) | public void realmSet$name(String name) {
    method getAge (line 41) | public int getAge() {
    method setAge (line 45) | public void setAge(int age) {
    method realmGet$age (line 49) | public int realmGet$age() {
    method realmSet$age (line 53) | public void realmSet$age(int age) {
    method toString (line 57) | @Override
    method equals (line 65) | @Override
    method hashCode (line 78) | @Override

FILE: realm/realm-annotations-processor/src/test/resources/some/test/conflict/BacklinkSelfReference.java
  class BacklinkSelfReference (line 9) | @RealmClass(name = "!BacklinkSelfReference")

FILE: realm/realm-annotations-processor/src/test/resources/some/test/ÁrvíztűrőTükörfúrógép.java
  class ÁrvíztűrőTükörfúrógép (line 25) | public class ÁrvíztűrőTükörfúrógép extends RealmObject {

FILE: realm/realm-library/src/androidTest/java/ThreadStressTests.java
  class ThreadStressTests (line 63) | @RunWith(Parameterized.class)
    method parameters (line 66) | @Parameterized.Parameters(name = "Encryption: {0}, ReuseThreads: {1}")
    type CRUDAction (line 93) | enum CRUDAction {
    type AsyncTaskRunner (line 100) | public interface AsyncTaskRunner {
      method run (line 101) | void run(Realm realm, CountDownLatch success);
    type TaskRunner (line 104) | public interface TaskRunner {
      method run (line 105) | void run(Realm realm);
    method setUp (line 108) | @Before
    method tearDown (line 124) | @After
    method populateTestRealm (line 129) | private void populateTestRealm(Realm realm, int objects) {
    method populateTestRealm (line 157) | private void populateTestRealm(Realm realm) {
    method threadStressTest (line 161) | @Test
    method createObjects (line 195) | private Runnable createObjects(int objectsCount, boolean asyncTransact...
    method deleteObjects (line 209) | private Runnable deleteObjects(boolean filterObjects, boolean asyncTra...
    method updateObjects (line 236) | private Runnable updateObjects(boolean filterObjects, boolean asyncTra...
    method readObjects (line 265) | private Runnable readObjects(boolean asyncQuery) {
    method createTaskInThread (line 301) | private Runnable createTaskInThread(TaskRunner runnable) {
    method createTaskInHandlerThread (line 309) | private Runnable createTaskInHandlerThread(AsyncTaskRunner wrapper) {

FILE: realm/realm-library/src/androidTest/java/io/realm/BulkInsertTests.java
  class BulkInsertTests (line 69) | @RunWith(AndroidJUnit4.class)
    method setUp (line 76) | @Before
    method tearDown (line 82) | @After
    method insert (line 89) | @Test
    method insert_realmModel (line 146) | @Test
    method insert_invalidRealmModel (line 180) | @Test
    method insertOrUpdate_nullTypes (line 194) | @Test
    method insert_cyclicType (line 274) | @Test
    method insertOrUpdate_cyclicType (line 294) | @Test
    method insertOrUpdate_cyclicDependenciesFromOtherRealm (line 322) | @Test
    method insert_nullPrimaryKey (line 362) | @Test
    method insert_duplicatedPrimaryKeyFails (line 389) | @Test
    method insertOrUpdate (line 415) | @Test
    method insert_list (line 467) | @Test
    method insert_emptyList (line 488) | @Test
    method insert_emptyListWithCompositeMediator (line 502) | @Test
    method insert_emptyListWithFilterableMediator (line 530) | @Test
    method insertOrUpdate_list (line 556) | @Test
    method insertOrUpdate_emptyList (line 584) | @Test
    method insertOrUpdate_emptyListWithCompositeMediator (line 598) | @Test
    method insertOrUpdate_emptyListWithFilterableMediator (line 626) | @Test
    method insertOrUpdate_mixingPrimaryKeyAndNoPrimaryKeyModels (line 652) | @Test
    method insertOrUpdate_mixingNoPrimaryKeyAndPrimaryKeyModels (line 691) | @Test
    method insertOrUpdate_mixingPrimaryAndNoPrimaryKeyList (line 740) | @Test
    method insert_nullObject (line 782) | @Test
    method inset_nullList (line 798) | @Test
    method insert_listWithNullElement (line 814) | @Test
    method insertOrUpdate_managedObject (line 835) | @Test
    method insertOrUpdate_linkingManagedToUnmanagedObject (line 869) | @Test
    method insertManagedObjectWillNotDuplicate (line 890) | @Test
    method insertOrUpdate_collectionOfManagedObjects (line 904) | @Test
    method insertOrUpdate_shouldNotClearRealmList (line 927) | @Test
    method insertOrUpdate_ownList (line 943) | @Test
    method insert_collectionOfManagedObjects (line 964) | @Test
    method insert_collection_notInTransaction (line 987) | @Test(expected = IllegalStateException.class)
    method insert_object_notInTransaction (line 992) | @Test(expected = IllegalStateException.class)
    method insertOrUpdate_collection_notInTransaction (line 997) | @Test(expected = IllegalStateException.class)
    method insertOrUpdate_object_notInTransaction (line 1002) | @Test(expected = IllegalStateException.class)

FILE: realm/realm-library/src/androidTest/java/io/realm/CollectionTests.java
  class CollectionTests (line 31) | public abstract class CollectionTests {
    type CollectionClass (line 36) | protected enum CollectionClass {
    type UnManagedCollection (line 43) | protected enum UnManagedCollection {
    type ManagedCollection (line 48) | protected enum ManagedCollection {
    type RealmCollectionMethod (line 53) | protected enum RealmCollectionMethod {
    type CollectionMethod (line 59) | protected enum CollectionMethod {
    type ListMethod (line 66) | protected enum ListMethod {
    type OrderedRealmCollectionMethod (line 72) | protected enum OrderedRealmCollectionMethod {
    type CollectionMutatorMethod (line 77) | protected enum CollectionMutatorMethod {
    type OrderedCollectionMutatorMethod (line 82) | protected enum OrderedCollectionMutatorMethod {
    method populateRealm (line 86) | protected void populateRealm(Realm realm, int objects) {
    method populateInMemoryList (line 112) | protected RealmList<AllJavaTypes> populateInMemoryList(int objects) {
    method fillObject (line 122) | private void fillObject(int index, int totalObjects, AllJavaTypes obj) {
    method populateCollectionOnDeletedLinkView (line 134) | protected OrderedRealmCollection<CyclicType> populateCollectionOnDelet...
    method populatePartialNullRowsForNumericTesting (line 164) | protected void populatePartialNullRowsForNumericTesting(Realm realm) {
    method createStringCollection (line 194) | protected OrderedRealmCollection<AllJavaTypes> createStringCollection(...
    method isSnapshot (line 235) | boolean isSnapshot(ManagedCollection collectionClass) {
    method isSnapshot (line 240) | boolean isSnapshot(CollectionClass collectionClass) {
    method isRealmList (line 245) | boolean isRealmList(ManagedCollection collectionClass) {

FILE: realm/realm-library/src/androidTest/java/io/realm/ColumnInfoTests.java
  class ColumnInfoTests (line 36) | @RunWith(AndroidJUnit4.class)
    method setUp (line 46) | @Before
    method tearDown (line 53) | @After
    method copyColumnInfoFrom_checkIndex (line 60) | @Test
    method copy_differentInstanceSameValues (line 101) | @Test
    method copy_immutableThrows (line 150) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/CustomRealmNameTests.java
  class CustomRealmNameTests (line 43) | @RunWith(AndroidJUnit4.class)
    method setUp (line 51) | @Before
    method tearDown (line 61) | @After
    method modulePolicy_defaultPolicy (line 76) | @Test
    method classFieldPolicy_overrideModuleFieldPolicy (line 84) | @Test
    method className_overrideModuleClassPolicy (line 94) | @Test
    method fieldName_overrideClassPolicy (line 100) | @Test
    method fieldName_overrideModulePolicy (line 107) | @Test
    method typedQueryWithJavaNames (line 119) | @Test
    method typedQueryWithInternalNamesThrows (line 130) | @Test
    method dynamicQueryWithInternalNames (line 155) | @Test
    method dynamicQueryWithJavaNamesThrows (line 166) | @Test
    method typedSchemaReturnsInternalNames (line 189) | @Test
    method dynamicSchemaReturnsInternalNames (line 200) | @Test
    method valueParameterDefinedNamesInsteadOfExplicit (line 212) | @Test
    method createObjects (line 226) | @Test
    method copyOrUpdate (line 239) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/DynamicRealmObjectTests.java
  class DynamicRealmObjectTests (line 68) | @RunWith(AndroidJUnit4.class)
    method setUp (line 83) | @Before
    method tearDown (line 118) | @After
    type SupportedType (line 129) | private enum SupportedType {
    type ThreadConfinedMethods (line 135) | private enum ThreadConfinedMethods {
    method callThreadConfinedMethod (line 149) | @SuppressWarnings({"ResultOfMethodCallIgnored", "EqualsWithItself", "S...
    method callThreadConfinedMethodsFromWrongThread (line 205) | @Test
    method constructor_nullThrows (line 260) | @Test (expected = IllegalArgumentException.class)
    method constructor_dynamicObjectThrows (line 265) | @Test (expected = IllegalArgumentException.class)
    method constructor_deletedObjectThrows (line 270) | @Test
    method constructor_unmanagedObjectThrows (line 279) | @Test (expected = IllegalArgumentException.class)
    method typedGetter_illegalFieldNameThrows (line 285) | @Test
    method typedGetter_wrongUnderlyingTypeThrows (line 311) | @Test
    method callGetter (line 338) | private static void callGetter(DynamicRealmObject target, SupportedTyp...
    method typedSetter_illegalFieldNameThrows (line 375) | @Test
    method typedSetter_wrongUnderlyingTypeThrows (line 399) | @Test
    method callSetterOnPrimaryKey (line 431) | private void callSetterOnPrimaryKey(String className, DynamicRealmObje...
    method typedSetter_changePrimaryKeyThrows (line 453) | @Test
    method callSetter (line 476) | private static void callSetter(DynamicRealmObject target, SupportedTyp...
    method typedGettersAndSetters (line 511) | @Test
    method checkSetGetValueList (line 618) | private <E> void checkSetGetValueList(DynamicRealmObject obj, String f...
    method setter_null (line 623) | @Test
    method setter_nullOnRequiredFieldsThrows (line 778) | @Test
    method typedSetter_null (line 829) | @Test
    method setNull_changePrimaryKeyThrows (line 924) | @Test
    method setObject_differentType (line 947) | @Test
    method setObject_wrongTypeThrows (line 961) | @Test
    method setObject_objectBelongToTypedRealmThrows (line 972) | @Test
    method setObject_objectBelongToDiffThreadRealmThrows (line 983) | @Test
    method setList_listWithDynamicRealmObject (line 1010) | @Test
    method setList_managedRealmList (line 1034) | @Test
    method setList_elementBelongToTypedRealmThrows (line 1079) | @Test
    method setList_elementBelongToDiffThreadRealmThrows (line 1093) | @Test
    method setList_wrongTypeThrows (line 1121) | @Test
    method setList_javaModelClassesThrowProperErrorMessage (line 1131) | @Test
    method setList_objectsOwnList (line 1142) | @Test
    method untypedSetter_listWrongTypeThrows (line 1157) | @Test
    method untypedSetter_listRealmAnyTypesThrows (line 1165) | @Test
    method getList (line 1179) | @Test
    method untypedGetterSetter (line 1198) | @Test
    method untypedSetter_usingStringConversion (line 1361) | @Test
    method untypedSetter_illegalImplicitConversionThrows (line 1437) | @Test
    method testChangePrimaryKeyThroughUntypedSetter (line 1510) | private void testChangePrimaryKeyThroughUntypedSetter(String value) {
    method untypedSetter_setValue_changePrimaryKeyThrows (line 1532) | @Test
    method untypedSetter_setNull_changePrimaryKeyThrows (line 1537) | @Test
    method isNull_nullNotSupportedField (line 1542) | @Test
    method isNull_true (line 1547) | @Test
    method isNull_false (line 1556) | @Test
    method getFieldNames (line 1561) | @Test
    method hasField_false (line 1581) | @Test
    method hasField_true (line 1590) | @Test
    method getFieldType (line 1595) | @Test
    method equals (line 1624) | @Test
    method equals_standardAndDynamicObjectsNotEqual (line 1633) | @Test
    method hashcode (line 1640) | @Test
    method toString_test (line 1647) | @Test
    method toString_nullValues (line 1656) | @Test
    method testExceptionMessage (line 1690) | @Test
    method getDynamicRealm (line 1706) | @Test
    method getRealm (line 1718) | @Test
    method getRealm_closedObjectThrows (line 1731) | @Test
    method getRealmConfiguration_deletedObjectThrows (line 1750) | @Test
    method getRealm_illegalThreadThrows (line 1770) | @Test
    method getNullableFields (line 1797) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/DynamicRealmTests.java
  class DynamicRealmTests (line 56) | @RunWith(AndroidJUnit4.class)
    method setUp (line 71) | @Before
    method tearDown (line 80) | @After
    method populateTestRealm (line 87) | private void populateTestRealm(DynamicRealm realm, int objects) {
    method separateSharedGroups (line 115) | @Test
    method deleteRealm_ThrowsIfDynamicRealmIsOpen (line 136) | @Test
    method deleteRealm_throwsIfTypedRealmIsOpen (line 154) | @Test
    method createObject (line 171) | @Test
    method createObject_withPrimaryKey (line 179) | @Test
    method createObject_withNullStringPrimaryKey (line 187) | @Test
    method createObject_withNullBytePrimaryKey (line 196) | @Test
    method createObject_withNullShortPrimaryKey (line 205) | @Test
    method createObject_withNullIntegerPrimaryKey (line 214) | @Test
    method createObject_withNullLongPrimaryKey (line 223) | @Test
    method createObject_illegalPrimaryKeyValue (line 232) | @Test(expected = IllegalArgumentException.class)
    method createObject_absentPrimaryKeyThrows (line 238) | @Test(expected = RealmException.class)
    method where (line 244) | @Test
    method delete_type_invalidName (line 254) | @Test(expected = IllegalArgumentException.class)
    method delete_type_outsideTransactionClearOutsideTransactionThrows (line 260) | @Test(expected = IllegalStateException.class)
    method delete_type (line 265) | @Test
    method executeTransaction_null (line 278) | @Test(expected = IllegalArgumentException.class)
    method executeTransaction (line 283) | @Test
    method executeTransaction_cancelled (line 299) | @Test
    method executeTransaction_warningIfManuallyCancelled (line 321) | @Test
    method executeTransaction_mainThreadWritesAllowed (line 345) | @Test
    method executeTransaction_mainThreadWritesNotAllowed (line 373) | @Test
    method findFirst (line 398) | @Test
    method findFirstAsync (line 407) | @Test
    method findAllAsync (line 426) | @Test
    method sort_async (line 451) | @Test
    method initializeDynamicRealm (line 478) | private DynamicRealm initializeDynamicRealm() {
    method sort_async_usingMultipleFields (line 486) | @Test
    method accessingDynamicRealmObjectBeforeAsyncQueryCompleted (line 597) | @Test
    method deleteAll (line 616) | @Test
    method realmListRemoveAllFromRealm (line 643) | @Test
    method addChangeListener_throwOnAddingNullListenerFromLooperThread (line 657) | @Test
    method addChangeListener_throwOnAddingNullListenerFromNonLooperThread (line 673) | @Test
    method removeChangeListener_throwOnRemovingNullListenerFromLooperThread (line 692) | @Test
    method removeChangeListener_throwOnRemovingNullListenerFromNonLooperThread (line 708) | @Test
    method equalTo_noFieldObjectShouldThrow (line 727) | @Test
    method getInstanceAsync_nonLooperThreadShouldThrow (line 741) | @Test(expected = IllegalStateException.class)
    method getInstanceAsync_nullConfigShouldThrow (line 751) | @Test
    method getInstanceAsync_nullCallbackShouldThrow (line 767) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/FrozenObjectsTests.java
  class FrozenObjectsTests (line 48) | @RunWith(AndroidJUnit4.class)
    method setUp (line 62) | @Before
    method tearDown (line 69) | @After
    method deleteFrozenRealm (line 74) | @Test
    method freezeRealm (line 87) | @Test
    method freezeDynamicRealm (line 96) | @Test
    method frozenRealmsCannotStartTransactions (line 107) | @Test
    method addingRealmChangeListenerThrows (line 116) | @Test
    method addingResultsChangeListenerThrows (line 131) | @Test
    method addingListChangeListenerThrows (line 147) | @Test
    method addingObjectChangeListenerThrows (line 179) | @Test
    method removingChangeListeners (line 201) | @Test
    method refreshThrows (line 211) | @Test
    method writeToFrozenObjectThrows (line 220) | @Test
    method freezingPinsRealmVersion (line 271) | @Test
    method readFrozenRealmAcrossThreads (line 284) | @Test
    method queryFrozenRealmAcrossThreads (line 294) | @Test
    method canReadFrozenResultsAcrossThreads (line 305) | @Test
    method canReadFrozenListsAcrossThreads (line 317) | @Test
    method canReadFrozenObjectsAcrossThreads (line 329) | @Test
    method frozenObjectsReturnsFrozenRealms (line 342) | @Test
    method freezeResults (line 354) | @Test
    method freezeDynamicResults (line 373) | @Test
    method freezeSnapshot (line 394) | @Test
    method freezeDynamicSnapshot (line 406) | @Test
    method freezeLists (line 421) | @Test
    method freezeDynamicList (line 440) | @Test
    method freezeObject (line 461) | @Test
    method freezeDynamicObject (line 476) | @Test
    method freezeDeletedObject (line 494) | @Test
    method freezePendingObject (line 507) | @Test
    method frozenRealms_notEqualToLiveRealm (line 520) | @Test
    method frozenRealm_notEqualToFrozenRealmAtOtherVersion (line 525) | @Test
    method frozenRealm_equalToFrozenRealmAtSameVersion (line 537) | @Test
    method frozenRealm_closeFromOtherThread (line 555) | @Test
    method copyToRealm (line 566) | @Test
    method copyToRealmOrUpdate (line 587) | @Test
    method insert (line 608) | @Test
    method insertList (line 626) | @Test
    method insertOrUpdate (line 645) | @Test
    method insertOrUpdateList (line 664) | @Test
    method realmObject_equals (line 689) | @Test
    method realmObject_returnsFrozenRealm (line 712) | @Test
    method realmList_returnsFrozenRealm (line 719) | @Test
    method realmResults_returnsFrozenRealm (line 726) | @Test
    method createDataForFrozenRealm (line 733) | private Realm createDataForFrozenRealm(int dataSize) {
    method createDataForLiveRealm (line 737) | private Realm createDataForLiveRealm(int dataSize) {

FILE: realm/realm-library/src/androidTest/java/io/realm/GCTests.java
  class GCTests (line 37) | @RunWith(AndroidJUnit4.class)
    method setUp (line 44) | @Before
    method tearDown (line 55) | @After
    method createRealmResults (line 59) | @Test
    method createRealmResultsFromRealmResults (line 70) | @Test
    method createRealmResultsFromRealmList (line 81) | @Test
    method createRealmObject (line 94) | @Test
    method createRealmObjectFromRealmResults (line 105) | @Test
    method createRealmObjectsFromRealmList (line 116) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/IOSRealmTests.java
  class IOSRealmTests (line 48) | @RunWith(AndroidJUnit4.class)
    method setUp (line 59) | @Before
    method tearDown (line 69) | @After
    method iOSDataTypes (line 77) | @Test
    method iOSDataTypesDefaultValues (line 110) | @Test
    method iOSDataTypesNullValues (line 133) | @Test
    method iOSDataTypesMinimumValues (line 149) | @Test
    method iOSDataTypesMaximumValues (line 171) | @Test
    method iOSEncryptedRealm (line 191) | @Test
    method getIOSKey (line 218) | private byte[] getIOSKey() {

FILE: realm/realm-library/src/androidTest/java/io/realm/LinkingObjectsDynamicTests.java
  class LinkingObjectsDynamicTests (line 44) | @RunWith(AndroidJUnit4.class)
    method setUp (line 58) | @Before
    method tearDown (line 65) | @After
    method linkingObjects_classIsNull (line 76) | @Test
    method linkingObjects_fieldIsNull (line 90) | @Test
    method linkingObjects_nonExistentClass (line 104) | @Test
    method linkingObjects_nonExistentField (line 118) | @Test
    method linkingObjects_ignoredExistentField (line 135) | @Test
    method linkingObjects_linkQueryNotSupported (line 152) | @Test
    method linkingObjects_invalidFieldType (line 166) | @Test
    method linkingObjects_linkedByOBJECT_backlinksDefinedInModel (line 299) | @Test
    method linkingObjects_linkedByOBJECT_backlinksNotDefinedInModel (line 360) | @Test
    method linkingObjects_linkedByLIST (line 421) | @Test
    method linkingObjects_IllegalStateException_ifNotYetLoaded (line 505) | @Test
    method linkingObjects_IllegalStateException_ifDeleted (line 536) | @Test
    method dynamicQuery_invalidSyntax (line 575) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/LinkingObjectsManagedTests.java
  class LinkingObjectsManagedTests (line 59) | @RunWith(AndroidJUnit4.class)
    type PostConditions (line 61) | private interface PostConditions {
      method run (line 62) | void run(Realm realm);
    method setUp (line 75) | @Before
    method tearDown (line 83) | @After
    method basic_singleBacklinkObject (line 91) | @Test
    method basic_singleBacklinkList (line 104) | @Test
    method basic_multipleBacklinksObject (line 117) | @Test
    method basic_multipleBacklinksList (line 130) | @Test
    method basic_multipleReferencesFromParentList (line 144) | @Test
    method issue4487_checkIfTableIsCorrect (line 162) | @Test
    method notification_notSentAfterUnregisterListenerModelObject (line 178) | @Test
    method notification_onCommitRealmResults (line 214) | @Test
    method notification_notSentAfterUnregisterListenerRealmResults (line 251) | @Test
    method notification_onDeleteRealmResults (line 288) | @Test
    method notification_notSentOnUnrelatedChangeRealmResults (line 326) | @Test
    method json_updateObject (line 361) | @Test
    method json_updateList (line 389) | @Test
    method linkingObjects_IllegalStateException_ifNotYetLoaded (line 416) | @Test
    method linkingObjects_IllegalStateException_ifDeleted (line 447) | @Test
    method linkingObjects_IllegalStateException_ifDeletedIndirectly (line 487) | @Test
    method migration_backlinkedFieldInUse (line 543) | @Test
    method migration_backlinkedSourceClassDoesntExist (line 575) | @Test
    method migration_backlinkedSourceFieldDoesntExist (line 596) | @Test
    method migration_backlinkedSourceFieldWrongType (line 638) | @Test
    method query_multipleReferencesWithDistinct (line 683) | @Test
    method copyToRealm_modelWithRenamedTargetFields (line 700) | @Test
    method insert_modelWithRenamedTargetFields (line 709) | @Test
    method query_modelWithRenamedFields (line 718) | @Test
    method verifyPostConditions (line 738) | private void verifyPostConditions(final Realm realm, final PostConditi...

FILE: realm/realm-library/src/androidTest/java/io/realm/LinkingObjectsQueryTests.java
  class LinkingObjectsQueryTests (line 35) | @RunWith(AndroidJUnit4.class)
    method query_startWithBacklink (line 51) | @Test
    method query_backlinkInMiddle (line 91) | @Test
    method isNull_object (line 123) | @Test
    method isNull_list (line 166) | @Test
    method isNull_unsupported (line 208) | @Test
    method isNull_unsupportedLinkedTypes (line 225) | @Test
    method isNotNull_object (line 243) | @Test
    method isNotNull_list (line 286) | @Test
    method isNotNull_unsupported (line 329) | @Test
    method isNotNull_unsupportedLinkedTypes (line 347) | @Test
    method isEmpty_linkingObjects (line 364) | @Test
    method isEmpty_multipleModelClasses (line 383) | @Test
    method equalTo_linkingObjectLast (line 389) | @Test(expected = IllegalArgumentException.class)
    method isEmpty_acrossLink (line 395) | @Test
    method isEmpty_acrossLinkingObjectObjectLink (line 415) | @Test
    method isEmpty_acrossLinkingObjectListLink (line 552) | @Test
    method isNotEmpty (line 697) | @Test
    method isNotEmpty_acrossLink (line 713) | @Test
    method isNotEmpty_acrossLinkingObjectObjectLink (line 730) | @Test
    method isNotEmpty_acrossLinkingObjectListLink (line 870) | @Test
    method populateTestRealmForNullTests (line 1024) | private void populateTestRealmForNullTests(Realm testRealm) {

FILE: realm/realm-library/src/androidTest/java/io/realm/LinkingObjectsUnmanagedTests.java
  class LinkingObjectsUnmanagedTests (line 33) | @RunWith(AndroidJUnit4.class)
    method setUp (line 41) | @Before
    method tearDown (line 47) | @After
    method copyFromRealm (line 55) | @Test
    method copyToAndFromRealm (line 70) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/ManagedOrderedRealmCollectionTests.java
  class ManagedOrderedRealmCollectionTests (line 114) | @RunWith(Parameterized.class)
    method data (line 130) | @Parameterized.Parameters(name = "{0}")
    method ManagedOrderedRealmCollectionTests (line 135) | public ManagedOrderedRealmCollectionTests(ManagedCollection collection...
    method setup (line 139) | @Before
    method tearDown (line 146) | @After
    method createCollection (line 151) | OrderedRealmCollection<AllJavaTypes> createCollection(ManagedCollectio...
    method createEmptyCollection (line 176) | private OrderedRealmCollection<NullTypes> createEmptyCollection(Realm ...
    method sort_twoFields (line 201) | @Test
    method sort_boolean (line 212) | @Test
    method sort_string (line 236) | @Test
    method sort_double (line 262) | @Test
    method sort_float (line 283) | @Test
    method doTestSortOnColumnWithPartialNullValues (line 304) | private void doTestSortOnColumnWithPartialNullValues(String fieldName,
    method sort_rowsWithPartialNullValues (line 322) | @Test
    method sort_nonExistingColumn (line 380) | @Test
    method sort_danishCharacters (line 390) | @Test
    method sort_russianCharacters (line 415) | @Test
    method sort_greekCharacters (line 440) | @Test
    method sort_manyDifferentCharacters (line 466) | @Test
    method sort_twoLanguages (line 489) | @Test
    method sort_usingChildObject (line 507) | @Test
    method sort_nullArguments (line 528) | @Test
    method sort_emptyResults (line 546) | @Test
    method sort_singleField (line 557) | @Test
    method sort_date (line 568) | @Test
    method sort_long (line 589) | @Test
    method deleteFromRealm (line 610) | @Test
    method deleteFromRealm_invalidIndex (line 636) | @Test
    method deleteFirstFromRealm (line 651) | @Test
    method createNonCyclicCollection (line 671) | private OrderedRealmCollection<Dog> createNonCyclicCollection(Realm re...
    method deleteFirstFromRealm_emptyCollection (line 710) | @Test
    method deleteLastFromRealm (line 719) | @Test
    method deleteLastFromRealm_emptyCollection (line 737) | @Test
    method mutableMethodsOutsideTransactions (line 748) | @Test
    method methodsThrowOnWrongThread (line 787) | @Test
    method runMethodOnWrongThread (line 798) | private boolean runMethodOnWrongThread(final OrderedRealmCollectionMet...
    method runMethodOnWrongThread (line 841) | private boolean runMethodOnWrongThread(final ListMethod method) throws...

FILE: realm/realm-library/src/androidTest/java/io/realm/ManagedRealmCollectionTests.java
  class ManagedRealmCollectionTests (line 88) | @RunWith(Parameterized.class)
    method data (line 104) | @Parameterized.Parameters(name = "{0}")
    method ManagedRealmCollectionTests (line 109) | public ManagedRealmCollectionTests(ManagedCollection collectionType) {
    method setup (line 113) | @Before
    method tearDown (line 120) | @After
    method createCollection (line 125) | private OrderedRealmCollection<AllJavaTypes> createCollection(ManagedC...
    method createEmptyCollection (line 152) | private OrderedRealmCollection<NullTypes> createEmptyCollection(Realm ...
    method createAllNullRowsForNumericTesting (line 177) | private OrderedRealmCollection<NullTypes> createAllNullRowsForNumericT...
    method createPartialNullRowsForNumericTesting (line 208) | private OrderedRealmCollection<NullTypes> createPartialNullRowsForNume...
    method createNonLatinCollection (line 240) | private OrderedRealmCollection<NonLatinFieldNames> createNonLatinColle...
    method where (line 270) | @Test
    method where_contains (line 279) | @Test
    method where_contains_null (line 286) | @Test
    method where_shouldNotContainRemovedItem (line 292) | @Test
    method where_lessThanGreaterThan (line 306) | @Test
    method where_equalTo_manyConditions (line 313) | @Test
    method where_findAll_size (line 324) | @Test
    method where_sort (line 342) | @Test
    method where_queryDateField (line 365) | @Test
    method min (line 385) | @Test
    method min_emptyNonNullFields (line 392) | @Test
    method min_emptyNullFields (line 402) | @Test
    method min_partialNullRows (line 412) | @Test
    method max (line 420) | @Test
    method max_emptyNonNullFields (line 427) | @Test
    method max_emptyNullFields (line 437) | @Test
    method max_partialNullRows (line 447) | @Test
    method sum (line 455) | @Test
    method sum_nullRows (line 463) | @Test
    method sum_partialNullRows (line 472) | @Test
    method sum_nonLatinColumnNames (line 481) | @Test
    method avg (line 494) | @Test
    method avg_emptyNonNullFields (line 523) | @Test
    method avg_emptyNullFields (line 532) | @Test
    method avg_partialNullRows (line 541) | @Test
    method maxDate (line 549) | @Test
    method minDate (line 555) | @Test
    method aggregates_deleteLastRow (line 564) | @Test
    method realmMethods_invalidFieldNames (line 584) | @Test
    method realmMethods_invalidFieldType (line 622) | @Test
    method deleteAllFromRealm (line 655) | @Test
    method deleteAllFromRealm_outsideTransaction (line 686) | @Test(expected = IllegalStateException.class)
    method deleteAllFromRealm_emptyList (line 691) | @Test
    method deleteAllFromRealm_invalidList (line 701) | @Test
    method isLoaded (line 710) | @Test
    method load (line 717) | @Test
    method isValid (line 724) | @Test
    method isValid_realmClosed (line 729) | @Test
    method isManaged (line 735) | @Test
    method contains_deletedRealmObject (line 740) | @Test
    method equals_sameRealmObjectsDifferentCollection (line 750) | @Test
    method mutableMethodsOutsideTransactions (line 757) | @Test
    method methodsThrowOnWrongThread (line 797) | @Test
    method runMethodOnWrongThread (line 810) | private boolean runMethodOnWrongThread(final RealmCollectionMethod met...
    method runMethodOnWrongThread (line 848) | private boolean runMethodOnWrongThread(final CollectionMethod method, ...

FILE: realm/realm-library/src/androidTest/java/io/realm/ManagedRealmListForValueTests.java
  class ManagedRealmListForValueTests (line 65) | @RunWith(Parameterized.class)
    type ListType (line 71) | enum ListType {
      method ListType (line 85) | ListType(String valueTypeName) {
      method getValueTypeName (line 89) | public String getValueTypeName() {
    method parameters (line 94) | @Parameterized.Parameters(name = "{index}: Type: {0}, Nullable?: {1}")
    method setUp (line 121) | @SuppressWarnings("unchecked")
    method getListFor (line 225) | static RealmList<?> getListFor(NullTypes object, ListType listType, bo...
    method tearDown (line 252) | @After
    method generateValue (line 259) | static Object generateValue(ListType listType, int i) {
    method generateHugeValue (line 286) | private static Object generateHugeValue(ListType listType, int size) {
    method assertValueEquals (line 299) | private void assertValueEquals(@Nullable Object expected, @Nullable Ob...
    method assertValueEquals (line 303) | private void assertValueEquals(@SuppressWarnings("SameParameterValue")...
    method readValues (line 311) | @Test
    method isValid (line 370) | @Test
    method isValid_whenParentRemoved (line 379) | @Test
    method add_exceedingSizeLimitValueThrows (line 389) | @Test
    method move_outOfBoundsLowerThrows (line 431) | @Test
    method move_outOfBoundsHigherThrows (line 443) | @Test
    method clear_then_add (line 456) | @Test
    method size (line 471) | @Test
    method remove_nonNullByIndex (line 476) | @Test
    method remove_nullByIndex (line 504) | @Test
    method remove_first (line 529) | @Test
    method remove_last (line 542) | @Test
    method remove_fromEmptyListThrows (line 559) | @Test
    method remove_byObject (line 571) | @Test
    method remove_byNull (line 590) | @Test
    method deleteFirst (line 608) | @Test
    method deleteLast (line 632) | @Test
    method addAt_afterContainerObjectRemoved (line 655) | @Test
    method addAt_invalidIndex (line 669) | @Test
    method set_afterContainerObjectRemoved (line 683) | @Test
    method set_invalidIndex (line 697) | @Test
    method move_afterContainerObjectRemoved (line 711) | @Test
    method clear_afterContainerObjectRemoved (line 724) | @Test
    method remove_atAfterContainerObjectRemoved (line 737) | @Test
    method remove_objectAfterContainerObjectRemoved (line 750) | @Test
    method remove_unsupportedTypeIgnored (line 763) | @Test
    method removeAll (line 784) | @Test
    method removeAll_unsupportedTypeIgnored (line 816) | @Test
    method removeAll_afterContainerObjectRemoved (line 835) | @Test
    method get_afterContainerObjectRemoved (line 849) | @Test
    method first_afterContainerObjectRemoved (line 862) | @Test
    method last_afterContainerObjectRemoved (line 875) | @Test
    method size_afterContainerObjectRemoved (line 888) | @Test
    method where (line 901) | @Test(expected = UnsupportedOperationException.class)
    method toString_ (line 906) | @Test
    method toString_AfterContainerObjectRemoved (line 929) | @Test
    method deleteAllFromRealm (line 940) | @Test
    method deleteAllFromRealm_outsideTransaction (line 952) | @Test
    method deleteAllFromRealm_emptyList (line 962) | @Test
    method deleteAllFromRealm_invalidListShouldThrow (line 982) | @Test
    method add_null_nonNullableListThrows (line 992) | @Test
    method addAt_null_nonNullableListThrows (line 1009) | @Test
    method set_null_nonNullableListThrows (line 1026) | @Test
    method changeListener_forAddObject (line 1043) | @Test
    method changeListener_forAddAt (line 1093) | @Test
    method changeListener_forSet (line 1143) | @Test
    method changeListener_forRemoveAt (line 1193) | @Test
    method changeListener_forRemoveObject (line 1247) | @Test
    method changeListener_forRemoveAll (line 1303) | @Test
    method changeListener_forDeleteAt (line 1363) | @Test
    method changeListener_forDeleteAll (line 1413) | @Test
    method removeAllChangeListeners (line 1465) | @Test
    method removeChangeListener (line 1514) | @SuppressWarnings("unchecked")
    method createSnapshot (line 1555) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/ManagedRealmListForValue_toArrayTests.java
  class ManagedRealmListForValue_toArrayTests (line 58) | @RunWith(Parameterized.class)
    method parameters (line 61) | @Parameterized.Parameters(name = "{index}: Type: {0}, Nullable?: {1}")
    method setUp (line 87) | @SuppressWarnings("unchecked")
    method tearDown (line 191) | @After
    method toArray (line 198) | @Test
    method toArray_withStringArray (line 226) | @Test
    method toArray_withBooleanArray (line 249) | @Test
    method toArray_withBinaryArray (line 273) | @Test
    method toArray_withLongArray (line 305) | @Test
    method toArray_withIntegerArray (line 328) | @Test
    method toArray_withShortArray (line 351) | @Test
    method toArray_withByteArray (line 374) | @Test
    method toArray_withDoubleArray (line 397) | @Test
    method toArray_withFloatArray (line 420) | @Test
    method toArray_withDateArray (line 443) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/MediatorTest.java
  class MediatorTest (line 40) | @RunWith(AndroidJUnit4.class)
    method mediatorsEquality (line 43) | @SuppressWarnings("AssertEqualsBetweenInconvertibleTypes")
    method compositeMediatorModelClassesCount (line 72) | @Test
    method filterableMediatorModelClassesCount (line 85) | @Test
    method defaultMediatorWasTransformed (line 97) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/MutableRealmIntegerTests.java
  class MutableRealmIntegerTests (line 42) | @RunWith(AndroidJUnit4.class)
    method setUp (line 52) | @Before
    method tearDown (line 58) | @After
    method basic_unmanaged (line 71) | @Test
    method equality_unmanaged (line 79) | @Test
    method nullability_unmanaged (line 87) | @Test
    method validAndManaged_unmanaged (line 95) | @Test
    method basic_managed (line 103) | @Test
    method equality_managed (line 118) | @Test
    method nullability_managed (line 133) | @Test
    method validAndManaged_managed (line 147) | @Test
    method required (line 165) | @Test
    method indexed (line 201) | @Test
    method compareTo_unmanaged (line 218) | @Test
    method compareTo_managed (line 234) | @Test
    method updateOutsideTransactionThrows (line 258) | @Test
    method isLive (line 290) | @Test
    method copyToIsLive (line 311) | @Test
    method copyFromIsNotLive (line 335) | @Test
    method testJSON (line 356) | @Test
    method testStream (line 397) | @Test
    method checkTransactionException (line 436) | private void checkTransactionException(Exception e) {
    method checkException (line 440) | private void checkException(Exception e, String expected) {
    method testBasic (line 452) | @SuppressWarnings({"ReferenceEquality", "EqualsIncompatibleType"})
    method testEquality (line 488) | @SuppressWarnings({"ReferenceEquality", "EqualsIncompatibleType"})
    method testNullability (line 529) | private void testNullability(MutableRealmIntegerTypes c1) {
    method testValidityAndManagement (line 558) | private void testValidityAndManagement(MutableRealmIntegerTypes c1) {

FILE: realm/realm-library/src/androidTest/java/io/realm/NotificationsTest.java
  class NotificationsTest (line 62) | @RunWith(AndroidJUnit4.class)
    method setUp (line 75) | @Before
    method tearDown (line 80) | @After
    method setAutoRefresh_failsOnNonLooperThread (line 88) | @Test
    method setAutoRefresh_onHandlerThread (line 112) | @Test
    method removeChangeListener (line 134) | @Test
    method addChangeListener_duplicatedListener (line 156) | @Test
    method notificationsNumber (line 183) | @Test
    method closeClearingHandlerMessages (line 243) | @Test
    method globalListener_looperThread_triggeredByLocalCommit (line 314) | @Test
    method globalListener_looperThread_triggeredByRemoteCommit (line 332) | @Test
    method emptyCommitTriggerChangeListener (line 353) | @Test
    method addRemoveListenerConcurrency (line 368) | @Test
    method realmNotificationOrder (line 441) | @Test
    method doNotUseClosedHandler (line 492) | @Test
    method looperThreadQuitsLooperEarly (line 556) | @Test
    method handlerThreadShouldReceiveNotification (line 596) | @Test
    method nonLooperThreadShouldNotifyLooperThreadAboutCommit (line 640) | @Test
    method asyncRealmResultsShouldNotBlockBackgroundCommitNotification (line 686) | @Test
    method asyncRealmObjectShouldNotBlockBackgroundCommitNotification (line 744) | @Test
    class PopulateOneAllTypes (line 797) | public static class PopulateOneAllTypes implements RunInLooperThread.R...
      method run (line 799) | @Override
    method realmListener_realmResultShouldBeSynced (line 812) | @Test
    method accessingSyncRealmResultInsideAsyncResultListener (line 840) | @Test
    method accessingSyncRealmResultsInsideAnotherResultListener (line 880) | @Test
    method listenersNotAllowedOnIntentServiceThreads (line 902) | @Test
    method listenersNotAllowedOnNonLooperThreads (line 950) | @Test
    method limitedQueryResult_fromTable_finegrainedListener (line 997) | @Test
    method limitedQueryResult_fromTable_finegrainedListener_withModifications (line 1032) | @Test
    method limitedQueryResult_fromTable_simpleChangeListener (line 1073) | @Test
    method diffedUpdates_ignoredFieldsAreNotListedAsChanged (line 1103) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/ObjectChangeSetTests.java
  class ObjectChangeSetTests (line 46) | @RunWith(AndroidJUnit4.class)
    class PopulateOneAllTypes (line 52) | public static class PopulateOneAllTypes implements RunInLooperThread.R...
      method run (line 54) | @Override
    method checkDeleted (line 69) | private void checkDeleted(AllTypes allTypes) {
    method checkChangedField (line 82) | private void checkChangedField(AllTypes allTypes, final String... fiel...
    method listenerShouldNotBeCalled (line 102) | private void listenerShouldNotBeCalled(AllTypes allTypes) {
    method objectDeleted (line 117) | @Test
    method changeLongField (line 128) | @Test
    method changeStringField (line 139) | @Test
    method changeFloatField (line 150) | @Test
    method changeDoubleField (line 161) | @Test
    method changeBooleanField (line 172) | @Test
    method changeDateField (line 183) | @Test
    method changeBinaryField (line 194) | @Test
    method changeLinkFieldSetNewObject (line 205) | @Test
    method changeLinkFieldSetNull (line 216) | @Test
    method changeLinkFieldRemoveObject (line 227) | @Test
    method changeLinkFieldOriginalObjectChanged_notTrigger (line 238) | @Test
    method changeLinkListAddObject (line 249) | @Test
    method changeLinkListClear (line 260) | @Test
    method changeAllFields (line 271) | @Test
    method changeDifferentFieldOneAfterAnother (line 295) | @Test
    method findFirstAsync_changeSetIsNullWhenQueryReturns (line 339) | @Test
    method findFirstAsync_queryExecutedByLocalCommit (line 357) | @Test
    method moreFieldsChangedThanLocalRefTableSize (line 389) | @Test
    method allParentObjectShouldBeInChangeSet (line 423) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/OrderedCollectionChangeSetTests.java
  class OrderedCollectionChangeSetTests (line 46) | @SuppressWarnings("ConstantConditions") // Suppress the null return valu...
    type ObservablesType (line 50) | private enum ObservablesType {
    type ChangesCheck (line 54) | private interface ChangesCheck {
      method check (line 55) | void check(OrderedCollectionChangeSet changeSet);
    method data (line 65) | @Parameterized.Parameters(name = "{0}")
    method OrderedCollectionChangeSetTests (line 70) | public OrderedCollectionChangeSetTests(ObservablesType type) {
    method setUp (line 74) | @Before
    method tearDown (line 78) | @After
    method populateData (line 82) | private void populateData(Realm realm, int testSize) {
    method checkRanges (line 99) | private void checkRanges(OrderedCollectionChangeSet.Range[] ranges, in...
    method deleteObjects (line 117) | private void deleteObjects(Realm realm, int... indices) {
    method createObjects (line 124) | private void createObjects(Realm realm, int... indices) {
    method modifyObjects (line 149) | private void modifyObjects(Realm realm, int... indices) {
    method moveObjects (line 157) | private void moveObjects(Realm realm, int originAge, int newAge) {
    method getTestingCollection (line 196) | private OrderedRealmCollection<Dog> getTestingCollection(Realm realm) {
    method registerCheckListener (line 211) | private void registerCheckListener(Realm realm, final ChangesCheck cha...
    method deletion (line 235) | @Test
    method insertion (line 267) | @Test
    method changes (line 301) | @Test
    method moves (line 332) | @Test
    method realmAny_changes (line 361) | @Test
    method changes_then_delete (line 401) | @Test
    method insert_then_delete (line 431) | @Test
    method initialChangeSet_findAllAsync (line 459) | @Test
    method initialChangeSet_findAll (line 483) | @Test
    method addChangeListener_bug5507 (line 514) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/OrderedRealmCollectionIteratorTests.java
  class OrderedRealmCollectionIteratorTests (line 48) | @RunWith(Parameterized.class)
    method data (line 64) | @Parameterized.Parameters(name = "{0}")
    method OrderedRealmCollectionIteratorTests (line 69) | public OrderedRealmCollectionIteratorTests(CollectionClass collectionT...
    method setup (line 73) | @Before
    method tearDown (line 79) | @After
    method createCollection (line 84) | private OrderedRealmCollection<AllJavaTypes> createCollection(Realm re...
    method createNewObject (line 125) | private void createNewObject() {
    method skipTest (line 143) | private boolean skipTest(CollectionClass... unsupportedTypes) {
    method assertResultsOrSnapshot (line 153) | private void assertResultsOrSnapshot() {
    method assertRealmList (line 159) | private void assertRealmList() {
    method iterator (line 166) | @Test
    method iterator_empty (line 179) | @Test
    method iterator_oneElement (line 187) | @Test
    method iterator_unrelatedTransactionBeforeNextItem (line 202) | @Test
    method iterator_closedRealm_methodsThrows (line 216) | @Test
    method iterator_remove_beforeNext (line 246) | @Test
    method iterator_remove (line 261) | @Test
    method iterator_deleteManagedObjectIndirectly (line 284) | @Test
    method iterator_removeCalledTwice (line 315) | @Test
    method listIterator_empty (line 331) | @Test
    method listIterator_oneElement (line 354) | @Test
    method listIterator_manyElements (line 374) | @Test
    method listIterator_defaultStartIndex (line 406) | @Test
    method listIterator_startIndex (line 415) | @Test
    method listIterator_remove_beforeNext (line 428) | @Test
    method listIterator_remove_calledTwice (line 443) | @Test
    method listIterator_transactionBeforeNextItem (line 470) | @Test
    method listIterator_closedRealm_methods (line 484) | @Test
    method listIterator_deleteManagedObjectIndirectly (line 533) | @Test
    method listIterator_remove_realmList_doesNotDeleteObject (line 565) | @Test
    method listIterator_remove_nonRealmList_throwUnsupported (line 579) | @Test
    method listIterator_set (line 592) | @Test
    method listIterator_add (line 619) | @Test
    method listIterator_unsupportedMethods (line 644) | @Test
    method iterator_outsideChangeToSizeThrowsConcurrentModification (line 680) | @Test
    method iterator_outsideChangeToSizeThrowsConcurrentModification_managedCollection (line 747) | @Test
    method checkIteratorThrowsConcurrentModification (line 812) | private void checkIteratorThrowsConcurrentModification(Realm realm, St...
    method iterator_realmResultsThrowConcurrentModification_snapshotJustWorks (line 826) | @Test
    method useCase_simpleIterator_modifyQueryResult_innerTransaction (line 856) | @Test
    method useCase_simpleIterator_modifyQueryResult_outerTransaction (line 875) | @Test
    method useCase_forEachIterator_modifyQueryResult_innerTransaction (line 894) | @Test
    method useCase_forEachIterator_modifyQueryResult_outerTransaction (line 911) | @Test
    method useCase_simpleIterator_modifyQueryResult_innerTransaction_looperThread (line 928) | @Test
    method useCase_simpleIterator_modifyQueryResult_outerTransaction_looperThread (line 948) | @Test
    method useCase_forEachIterator_modifyQueryResult_innerTransaction_looperThread (line 968) | @Test
    method useCase_forEachIterator_modifyQueryResult_outerTransaction_looperThread (line 986) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/OrderedRealmCollectionSnapshotTests.java
  class OrderedRealmCollectionSnapshotTests (line 39) | @RunWith(AndroidJUnit4.class)
    method setup (line 51) | @Before
    method tearDown (line 58) | @After
    method populateRealm (line 63) | private void populateRealm(Realm realm, int testSize) {
    method deleteFromRealm_twice (line 72) | @Test
    method deleteFirstFromRealm_twice (line 81) | @Test
    method deleteLastFromRealm_twice (line 89) | @Test
    method deleteAllFromRealmTwice (line 97) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/OrderedRealmCollectionTests.java
  class OrderedRealmCollectionTests (line 107) | @RunWith(Parameterized.class)
    method data (line 121) | @Parameterized.Parameters(name = "{0}")
    method OrderedRealmCollectionTests (line 126) | public OrderedRealmCollectionTests(CollectionClass collectionType) {
    method setup (line 130) | @Before
    method tearDown (line 136) | @After
    method createCollection (line 141) | private OrderedRealmCollection<AllJavaTypes> createCollection(Realm re...
    method createEmptyCollection (line 171) | private OrderedRealmCollection<AllJavaTypes> createEmptyCollection(Rea...
    method createCollectionWithMultipleCopies (line 199) | private Pair<AllJavaTypes, OrderedRealmCollection<AllJavaTypes>> creat...
    method first (line 238) | @Test
    method first_emptyCollection (line 243) | @Test
    method first_withDefault (line 253) | @Test
    method last (line 261) | @Test
    method last_emptyCollection (line 266) | @Test
    method last_withDefault (line 276) | @Test
    method get_validIndex (line 284) | @Test
    method get_indexOutOfBounds (line 293) | @Test
    method indexOf (line 305) | @Test
    method indexOf_null (line 311) | @Test
    method indexOf_objectNotInRealm (line 316) | @Test
    method lastIndexOf (line 321) | @Test
    method lastIndexOf_null (line 330) | @Test
    method lastIndexOf_objectNotInRealm (line 335) | @Test
    method subList (line 340) | @Test
    method subList_invalidStartIndex (line 348) | @Test(expected = IndexOutOfBoundsException.class)
    method subList_invalidEnd (line 353) | @Test(expected = IndexOutOfBoundsException.class)
    method methods_indexOutOfBounds (line 359) | @Test
    method createSnapshot (line 416) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/QueryTests.java
  class QueryTests (line 46) | public abstract class QueryTests {
    method setUp (line 124) | @Before
    method tearDown (line 132) | @After
    method createIsEmptyDataSet (line 139) | @SuppressWarnings("unchecked")
    method createLinkedDataSet (line 172) | protected final void createLinkedDataSet(Realm realm) {
    method createIsNotEmptyDataSet (line 206) | @SuppressWarnings("unchecked")
    method getSet (line 268) | private RealmSet<?> getSet(RealmFieldType type) {
    method getSet (line 272) | private RealmSet<?> getSet(RealmFieldType type, @Nullable AllJavaTypes...
    method getDictionary (line 339) | private RealmDictionary<?> getDictionary(RealmFieldType type) {
    method getDictionary (line 343) | private RealmDictionary<?> getDictionary(RealmFieldType type, @Nullabl...

FILE: realm/realm-library/src/androidTest/java/io/realm/RealmAnnotationTests.java
  class RealmAnnotationTests (line 42) | @RunWith(AndroidJUnit4.class)
    method setUp (line 49) | @Before
    method tearDown (line 62) | @After
    method ignore (line 69) | @Test
    method index (line 77) | @Test
    method primaryKey_checkPrimaryKeyOnCreate (line 103) | @Test
    method primaryKey_errorOnInsertingSameObject (line 115) | @Test
    method string_primaryKey_isIndexed (line 128) | @Test
    method namingConvention (line 146) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/RealmAsyncQueryTests.java
  class RealmAsyncQueryTests (line 54) | @RunWith(AndroidJUnit4.class)
    method executeTransactionAsync (line 69) | @Test
    method executeTransactionAsync_onSuccess (line 97) | @Test
    method executeTransactionAsync_onSuccessCallerRealmClosed (line 119) | @Test
    method executeTransactionAsync_onError (line 145) | @Test
    method executeTransactionAsync_onErrorCallerRealmClosed (line 168) | @Test
    method executeTransactionAsync_NoCallbacks (line 195) | @Test
    method executeTransactionAsync_cancelTransactionInside (line 218) | @Test
    method executeTransactionAsync_realmClosedOnSuccess (line 254) | @Test
    method executeTransaction_async_realmClosedOnError (line 293) | @Test
    method executeTransactionAsync_asyncQuery (line 335) | @Test
    method executeTransactionAsync_onSuccessOnNonLooperThreadThrows (line 367) | @Test
    method executeTransactionAsync_onErrorOnNonLooperThreadThrows (line 387) | @Test
    method executeTransactionAsync_callbacksShouldBeClearedBeforeCalling (line 410) | @Test
    method findAllAsync (line 471) | @Test
    method accessingRealmListOnUnloadedRealmObjectShouldThrow (line 495) | @Test
    method unmanagedObjectAsyncBehaviour (line 513) | @Test
    method findAllAsync_throwsOnNonLooperThread (line 524) | @Test
    method findAllAsync_withNotification (line 538) | @Test
    method findAllAsync_forceLoad (line 564) | @Test
    method findFirstAsync (line 600) | @Test
    method findFirstAsync_initialEmptyRow (line 621) | @Test
    method findFirstAsync_updatedIfSyncRealmObjectIsUpdated (line 637) | @Test
    method findFirstAsync_withNotification (line 668) | @Test
    method findFirstAsync_forceLoad (line 698) | @Test
    method findFirstAsync_twoListenersOnSameInvalidObjectsCauseNPE (line 728) | @Test
    method findFirstAsync_withSorting (line 760) | @Test
    method sort_async (line 784) | @Test
    method combiningAsyncAndSync (line 813) | @Test
    method stressTestBackgroundCommits (line 838) | @Test
    method distinct_async (line 895) | @Test
    method distinct_async_rememberQueryParams (line 971) | @Test
    method distinctAsync_notIndexedFields (line 997) | @Test
    method distinctAsync_noneExistingField (line 1081) | @Test
    method batchUpdateDifferentTypeOfQueries (line 1097) | @Test
    method queryingLinkHandover (line 1227) | @Test
    method badVersion_syncTransaction (line 1280) | @Test
    method batchUpdate_localRefIsDeletedInLoopOfNativeBatchUpdateQueries (line 1329) | @Test
    method freezeAsyncResults (line 1377) | @Test
    method populateTestRealm (line 1413) | private void populateTestRealm(final Realm testRealm, int objects) {
    method populateForDistinct (line 1436) | private void populateForDistinct(Realm realm, long numberOfBlocks, lon...

FILE: realm/realm-library/src/androidTest/java/io/realm/RealmCacheTests.java
  class RealmCacheTests (line 49) | @RunWith(AndroidJUnit4.class)
    method setUp (line 60) | @Before
    method typedRealmCacheIsCleared (line 67) | @Test
    method dynamicRealmCacheIsCleared (line 86) | @Test
    method getInstanceClearsCacheWhenFailed (line 104) | @Test
    method realmCache (line 127) | @Test
    method dontCacheWrongConfigurations (line 140) | @Test
    method deletingRealmAlsoClearsConfigurationCache (line 176) | @Test
    method getInstance_shouldNotBeBlockedByTransactionInAnotherThread (line 221) | @Test
    method differentThreadsDifferentInstance (line 242) | @Test
    method getInstance_differentConfigurationsShouldNotBlockEachOther (line 267) | @Test
    method releaseCacheInOneThread (line 305) | @Test
    method getInstanceAsync_typedRealm (line 338) | @Test
    method getInstanceAsync_dynamicRealm (line 355) | @Test
    method getInstanceAsync_callbackDeliveredInFollowingEventLoopWhenLocalCacheExist (line 372) | @Test
    method getInstanceAsync_callbackDeliveredInFollowingEventLoopWhenGlobalCacheExist (line 392) | @Test
    method getInstanceAsync_typedRealmShouldStillBeInitializedInBGIfOnlyDynamicRealmExists (line 430) | @Test
    method getInstanceAsync_onError (line 453) | @Test
    method getInstanceAsync_cancelBeforePostShouldNotCreateRealmInstanceOnTheCallerThread (line 476) | @Test
    method typedRealmAndDynamicRealmShareTheSameCache (line 517) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/RealmChangeListenerTests.java
  class RealmChangeListenerTests (line 45) | @RunWith(AndroidJUnit4.class)
    method setUp (line 57) | @Before
    method tearDown (line 62) | @After
    method returnedRealmIsNotNull (line 69) | @Test
    method returnedDynamicRealmIsNotNull (line 85) | @Test
    method returnedRealmResultsIsNotNull (line 102) | @Test
    method returnedRealmResultsOfModelIsNotNull (line 121) | @Test
    method returnedRealmObjectIsNotNull (line 142) | @Test
    method returnedRealmModelIsNotNull (line 164) | @Test
    method returnedDynamicRealmObjectIsNotNull (line 186) | @Test
    method returnedDynamicRealmResultsIsNotNull (line 211) | @Test
    method listenerOnChildChangeParent (line 240) | @Test
    method listenerOnParentChangeChild (line 277) | @Test
    method removeListenerOnInvalidObjectShouldWarn (line 307) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/RealmCollectionTests.java
  class RealmCollectionTests (line 83) | @RunWith(Parameterized.class)
    method data (line 95) | @Parameterized.Parameters(name = "{0}")
    method RealmCollectionTests (line 100) | public RealmCollectionTests(CollectionClass collectionType) {
    method setup (line 104) | @Before
    method tearDown (line 110) | @After
    method createCollection (line 115) | private RealmCollection<AllJavaTypes> createCollection(CollectionClass...
    method createCustomMethodsCollection (line 145) | private RealmCollection<CustomMethods> createCustomMethodsCollection(R...
    method createEmptyCollection (line 188) | private OrderedRealmCollection<NullTypes> createEmptyCollection(Realm ...
    method contains (line 217) | @Test
    method contains_realmObjectFromOtherRealm (line 223) | @Test
    method contains_wrongType (line 236) | @Test
    method contains_null (line 243) | @Test
    method contains_customEqualMethod (line 250) | @Test
    method containsAll (line 261) | @Test
    method containsAll_emptyInput (line 268) | @Test
    method containsAll_nullInput (line 273) | @Test(expected = NullPointerException.class)
    method equals (line 278) | @Test
    method hashCode_allObjects (line 289) | @Test
    method isEmpty (line 298) | @Test
    method size (line 305) | @Test
    method toArray (line 310) | @Test
    method toArray_inputArray (line 317) | @Test

FILE: realm/realm-library/src/androidTest/java/io/realm/RealmConfigurationTests.java
  class RealmConfigurationTests (line 80) | @RunWith(AndroidJUnit4.class)
    method setUp (line 92) | @Before
    method tearDown (line 98) | @After
    method setDefaultConfiguration_nullThrows (line 105) | @Test
    method getDefaultConfiguration_returnsTheSameObjectThatSetDefaultConfigurationSet (line 114) | @Test
    method getDefaultConfiguration_returnsNullAfterRemoveDefaultConfiguration (line 122) | @Test
    method getInstance_nullConfigThrows (line 134) | @Test
    method constructBuilder_nullNameThrows (line 143) | @Test
    method constructBuilder_emptyNameThrows (line 152) | @Test
    method directory_null (line 161) | @Test(expected = IllegalArgumentException.class)
    method directory_writeProtectedDir (line 166) | @Test
    method directory_dirIsAFile (line 173) | @Test
    method getInstance_idForHashCollision (line 182) | @Test
    method constructBuilder_nullKeyThrows (line 195) | @Test
    method constructBuilder_wrongKeyLengthThrows (line 204) | @Test
    method constructBuilder_negativeVersionThrows (line 220) | 
Copy disabled (too large) Download .json
Condensed preview — 1417 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (11,063K chars).
[
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 420,
    "preview": "blank_issues_enabled: false\ncontact_links:\n  - name: General Questions and Inquiries\n    url: https://www.mongodb.com/co"
  },
  {
    "path": ".github/advanced-issue-labeler.yml",
    "chars": 2386,
    "preview": "# NOTE: This is a common file that is overwritten by realm/ci-actions sync service\n# and should only be modified in that"
  },
  {
    "path": ".github/auto_assign.yml",
    "chars": 58,
    "preview": "addAssignees: author\naddReviewers: false\nrunOnDraft: true\n"
  },
  {
    "path": ".github/no-response.yml",
    "chars": 705,
    "preview": "# Configuration for probot-no-response - https://github.com/probot/no-response\n\n# Number of days of inactivity before an"
  },
  {
    "path": ".github/workflows/Issue-Needs-Attention.yml",
    "chars": 361,
    "preview": "# NOTE: This is a common file that is overwritten by realm/ci-actions sync service\n# and should only be modified in that"
  },
  {
    "path": ".github/workflows/auto-assign.yml",
    "chars": 339,
    "preview": "# NOTE: This is a common file that is overwritten by realm/ci-actions sync service\n# and should only be modified in that"
  },
  {
    "path": ".github/workflows/check-changelog.yml",
    "chars": 746,
    "preview": "# NOTE: This is a common file that is overwritten by realm/ci-actions sync service\n# and should only be modified in that"
  },
  {
    "path": ".github/workflows/check-pr-title.yml",
    "chars": 761,
    "preview": "# NOTE: This is a common file that is overwritten by realm/ci-actions sync service\n# and should only be modified in that"
  },
  {
    "path": ".github/workflows/gradle-wrapper-validation.yml",
    "chars": 289,
    "preview": "name: \"Validate Gradle Wrapper\"\non: [push, pull_request]\n\npermissions:\n  contents: read # to fetch code (actions/checkou"
  },
  {
    "path": ".github/workflows/issue-labeler.yml",
    "chars": 1033,
    "preview": "# NOTE: This is a common file that is overwritten by realm/ci-actions sync service\n# and should only be modified in that"
  },
  {
    "path": ".github/workflows/lock-threads.yml",
    "chars": 392,
    "preview": "name: 'Lock Threads'\n\non:\n  schedule:\n    - cron: '0 * * * *'\n  workflow_dispatch:\n\npermissions:\n  issues: write\n  pull-"
  },
  {
    "path": ".github/workflows/no-response.yml",
    "chars": 574,
    "preview": "# NOTE: This is a common file that is overwritten by realm/ci-actions sync service\n# and should only be modified in that"
  },
  {
    "path": ".gitignore",
    "chars": 906,
    "preview": "# Gradle build artifacts\nbuild\nrealm/build\n!realm-transformer/src/main/kotlin/io/realm/transformer/build\n\n# Gradle cache"
  },
  {
    "path": ".gitmodules",
    "chars": 157,
    "preview": "[submodule \"realm/realm-library/src/main/cpp/realm-core\"]\n\tpath = realm/realm-library/src/main/cpp/realm-core\n\turl = htt"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 230884,
    "preview": "## 11.0.0 (2024-09-DD)\n\n### Breaking Changes\n* None.\n\n### Enhancements\n* None.\n\n### Fixed\n* None.\n\n### Compatibility\n* F"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 10576,
    "preview": "# Contributing\n\n## Filing Issues\n\nWhether you find a bug, typo or an API call that could be clarified, please [file an i"
  },
  {
    "path": "Dockerfile",
    "chars": 3959,
    "preview": "FROM ubuntu:22.04\n\n# Locales\nRUN apt-get clean && apt-get -y update && apt-get install -y locales && locale-gen en_US.UT"
  },
  {
    "path": "Jenkinsfile",
    "chars": 21579,
    "preview": "#!groovy\n\n@Library('realm-ci') _\n\nimport groovy.json.JsonOutput\n\n// CONSTANTS\n\n// Branches from which we release SNAPSHO"
  },
  {
    "path": "LICENSE",
    "chars": 10174,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "README.md",
    "chars": 14443,
    "preview": "> [!WARNING]\n> We announced the deprecation of Atlas Device Sync + Realm SDKs in September 2024. For more information pl"
  },
  {
    "path": "SUPPORT.md",
    "chars": 1581,
    "preview": "# Support\n\nThe Realm team is here to help you with your Realm-related issues!\n\n## Documentation\n\nBefore asking questions"
  },
  {
    "path": "build.gradle",
    "chars": 15465,
    "preview": "buildscript {\n    def properties = new Properties()\n    properties.load(new FileInputStream(\"${projectDir}/dependencies."
  },
  {
    "path": "dependencies.list",
    "chars": 1097,
    "preview": "# Realm Core release used by Realm Java\n# https://github.com/realm/realm-core/releases\nREALM_CORE=13.26.0\n\n# Version of "
  },
  {
    "path": "docs/README.md",
    "chars": 1325,
    "preview": "# Realm SDK for Java\nUse the Realm SDK for Java to develop Android apps in Java or Kotlin.\nTo develop multiplatform apps"
  },
  {
    "path": "docs/guides/adapters.md",
    "chars": 14599,
    "preview": "# Display Collections - Java SDK\nAndroid apps often populate the UI using\n[RecyclerView](https://developer.android.com/r"
  },
  {
    "path": "docs/guides/async-api.md",
    "chars": 7248,
    "preview": "# Asynchronous API - Java SDK\nThe Java SDK lets you access network and disk\nresources in two ways: **synchronously** and"
  },
  {
    "path": "docs/guides/crud/create.md",
    "chars": 5049,
    "preview": "# CRUD - Create - Java SDK\n## About the Examples on this Page\nThe examples on this page use the data model of a project\n"
  },
  {
    "path": "docs/guides/crud/delete.md",
    "chars": 6300,
    "preview": "# CRUD - Delete - Java SDK\n## About the Examples on this Page\nThe examples on this page use the data model of a project\n"
  },
  {
    "path": "docs/guides/crud/filter-data.md",
    "chars": 25686,
    "preview": "# Filter Data - Java SDK\n## Query Engine\nTo filter data in your realm, use the Realm query engine.\n\nThere are two ways t"
  },
  {
    "path": "docs/guides/crud/read.md",
    "chars": 15724,
    "preview": "# CRUD - Read - Java SDK\n## Read Operations\nYou can read back the data that you have\nstored in Realm.\nThe standard data "
  },
  {
    "path": "docs/guides/crud/threading.md",
    "chars": 11141,
    "preview": "# Threading - Java SDK\nTo make your Android apps fast and responsive, you must\nbalance the computing time needed to lay "
  },
  {
    "path": "docs/guides/crud/update.md",
    "chars": 10330,
    "preview": "# CRUD - Update - Java SDK\n## About the Examples on this Page\nThe examples on this page use the data model of a project\n"
  },
  {
    "path": "docs/guides/crud.md",
    "chars": 4187,
    "preview": "# CRUD - Java SDK\n## Write Operations\nYou can **create** objects in a realm,\n**update** objects in a realm, and eventual"
  },
  {
    "path": "docs/guides/install.md",
    "chars": 5659,
    "preview": "# Install Realm - Java SDK\n> Note:\n> The Java SDK is in best-effort maintenance mode and **no longer receives\nnew develo"
  },
  {
    "path": "docs/guides/model-data/data-types/collections.md",
    "chars": 6185,
    "preview": "# Collections - Java SDK\nA Realm collection is an\nobject that contains zero or more instances of one\ntype. Realm collect"
  },
  {
    "path": "docs/guides/model-data/data-types/counters.md",
    "chars": 4223,
    "preview": "# Counters - Java SDK\nRealm offers `MutableRealmInteger`, a wrapper around numeric values,\nto help better synchronize nu"
  },
  {
    "path": "docs/guides/model-data/data-types/embedded-objects.md",
    "chars": 8458,
    "preview": "# Embedded Objects - Java SDK\nAn embedded object is a special type of Realm object that models complex data about a spec"
  },
  {
    "path": "docs/guides/model-data/data-types/enums.md",
    "chars": 3524,
    "preview": "# Enumerations - Java SDK\nEnumerations, also known as enums, are not supported natively in the\nJava SDK. However, you ca"
  },
  {
    "path": "docs/guides/model-data/data-types/field-types.md",
    "chars": 1553,
    "preview": "# Field Types - Java SDK\nRealm supports the following field data types:\n\n- `Boolean` or `boolean`\n- `Integer` or `int`\n-"
  },
  {
    "path": "docs/guides/model-data/data-types/realmany.md",
    "chars": 9497,
    "preview": "# RealmAny - Java SDK\n> Version added: 10.6.0\n\nYou can use the `RealmAny` data type to create\nRealm object fields that c"
  },
  {
    "path": "docs/guides/model-data/data-types/realmdictionary.md",
    "chars": 7749,
    "preview": "# RealmDictionary - Java SDK\n> Version added: 10.6.0\n\nYou can use the `RealmDictionary` data type to manage a collection"
  },
  {
    "path": "docs/guides/model-data/data-types/realmset.md",
    "chars": 7910,
    "preview": "# RealmSet - Java SDK\n> Version added: 10.6.0\n\nYou can use the `RealmSet` data type\nto manage a collection of unique key"
  },
  {
    "path": "docs/guides/model-data/data-types.md",
    "chars": 551,
    "preview": "# Realm Data Types - Java SDK\n\nExplore detailed guidance for each Realm Java SDK data type and related concepts:\n\n- [Fie"
  },
  {
    "path": "docs/guides/model-data/define-a-realm-object-model.md",
    "chars": 30322,
    "preview": "# Define a Realm Object Model - Java SDK\n## Define a Realm Object\nTo define a Realm object in your application,\ncreate a"
  },
  {
    "path": "docs/guides/model-data/modify-an-object-schema.md",
    "chars": 6725,
    "preview": "# Change an Object Model - Java SDK\n#### Local\n\nThe following examples demonstrate how to add, delete, and modify\nproper"
  },
  {
    "path": "docs/guides/model-data/relationships.md",
    "chars": 10817,
    "preview": "# Relationships - Java SDK\n## Relationships\nRealm allows you to define explicit relationships between the types of\nobjec"
  },
  {
    "path": "docs/guides/model-data.md",
    "chars": 5787,
    "preview": "# Model Data - Java SDK\n\nAn **object schema** is a configuration object that defines the fields and\nrelationships of a R"
  },
  {
    "path": "docs/guides/quick-start-local.md",
    "chars": 22178,
    "preview": "# Quick Start - Java SDK\n\nThis page contains information to quickly get Realm\nintegrated into your app. Before you begin"
  },
  {
    "path": "docs/guides/react-to-changes.md",
    "chars": 14148,
    "preview": "# React to Changes - Java SDK\nObjects in Realm clients are **live objects** that\nupdate automatically to reflect data ch"
  },
  {
    "path": "docs/guides/realm-files/bundle-a-realm.md",
    "chars": 1953,
    "preview": "# Bundle a Realm File - Java SDK\nRealm supports **bundling** realm files. When you bundle\na realm file, you include a da"
  },
  {
    "path": "docs/guides/realm-files/encryption.md",
    "chars": 16034,
    "preview": "# Encrypt a Realm - Java SDK\n## Overview\nYou can encrypt your realms to ensure that the data stored to disk can't be\nrea"
  },
  {
    "path": "docs/guides/realm-files/open-and-close-a-realm.md",
    "chars": 10185,
    "preview": "# Open & Close a Realm - Java SDK\nInteracting with realms in an Android\napplication uses the following high-level series"
  },
  {
    "path": "docs/guides/realm-files.md",
    "chars": 9165,
    "preview": "# Work with Realm Files - Java SDK\nA **realm** is a set of related objects that conform to a pre-defined\nschema. Realms "
  },
  {
    "path": "docs/guides/realm-query-language.md",
    "chars": 28526,
    "preview": "# Realm Query Language\nRealm Query Language (RQL) is a string-based query language to constrain\nsearches when retrieving"
  },
  {
    "path": "docs/guides/test-and-debug/debugging.md",
    "chars": 1947,
    "preview": "# Debugging - Java SDK\n## Android Studio Debugging\n> Important:\n> The Android Studio debugger can provide misleading val"
  },
  {
    "path": "docs/guides/test-and-debug/log-realm-events.md",
    "chars": 764,
    "preview": "# Log Realm Events - Java SDK\nThe SDK logs events to the Android system log automatically. You can\nview these events usi"
  },
  {
    "path": "docs/guides/test-and-debug/testing.md",
    "chars": 37993,
    "preview": "# Testing - Java SDK\nYou can test your application using unit tests or integration tests.\n**Unit tests** only assess the"
  },
  {
    "path": "docs/guides/test-and-debug/troubleshooting.md",
    "chars": 7354,
    "preview": "# Troubleshooting - Java SDK\n## Couldn't load \"librealm-jni.so\"\nIf your app uses native libraries that don't ship with s"
  },
  {
    "path": "docs/guides/troubleshooting.md",
    "chars": 2043,
    "preview": "# Troubleshooting - Java SDK\n## Use in System Apps on Custom Android ROMs\nRealm SDKs use named pipes to support notifica"
  },
  {
    "path": "examples/architectureComponentsExample/build.gradle",
    "chars": 1141,
    "preview": "apply plugin: 'com.android.application'\napply plugin: 'realm-android'\n\nandroid {\n    compileSdkVersion rootProject.sdkVe"
  },
  {
    "path": "examples/architectureComponentsExample/lint.xml",
    "chars": 387,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<lint>\n    <!-- Disable the given check in this project -->\n    <issue id=\"AllowB"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/AndroidManifest.xml",
    "chars": 702,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/ArchExampleActivity.java",
    "chars": 3146,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/BackgroundTask.java",
    "chars": 2572,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/CustomApplication.java",
    "chars": 1983,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/PersonFragment.java",
    "chars": 3293,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/PersonListFragment.java",
    "chars": 5109,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/PersonListViewModel.java",
    "chars": 1544,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/PersonViewModel.java",
    "chars": 1737,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/livemodel/LiveRealmObject.java",
    "chars": 3875,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/livemodel/LiveRealmResults.java",
    "chars": 3393,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/model/Person.java",
    "chars": 1044,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/java/io/realm/examples/arch/utils/ContextUtils.java",
    "chars": 1801,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/res/drawable/ic_play_arrow_black_24dp.xml",
    "chars": 304,
    "preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        android:width=\"24dp\"\n        android:height=\""
  },
  {
    "path": "examples/architectureComponentsExample/src/main/res/drawable/ic_stop_black_24dp.xml",
    "chars": 303,
    "preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        android:width=\"24dp\"\n        android:height=\""
  },
  {
    "path": "examples/architectureComponentsExample/src/main/res/layout/activity_arch_example.xml",
    "chars": 975,
    "preview": "<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/res/layout/fragment_person.xml",
    "chars": 1003,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/res/layout/fragment_person_list.xml",
    "chars": 420,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/res/layout/item_person.xml",
    "chars": 1893,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/res/values/dimens.xml",
    "chars": 211,
    "preview": "<resources>\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizontal"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/res/values/strings.xml",
    "chars": 121,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <string name=\"app_name\">Lifecycle example</string>\n\n</resources>"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/res/values/styles.xml",
    "chars": 177,
    "preview": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"Theme.Design.Light\">\n        <!-- C"
  },
  {
    "path": "examples/architectureComponentsExample/src/main/res/values-w820dp/dimens.xml",
    "chars": 358,
    "preview": "<resources>\n    <!-- Example customization of dimensions originally defined in res/values/dimens.xml\n         (such as s"
  },
  {
    "path": "examples/build.gradle",
    "chars": 2933,
    "preview": "def projectDependencies = new Properties()\nprojectDependencies.load(new FileInputStream(\"${rootDir}/../dependencies.list"
  },
  {
    "path": "examples/compatibilityExample/README.md",
    "chars": 174,
    "preview": "# Using this example\n\nThis example is not really meant for use, but only as a compatibility check to ensure that we can\n"
  },
  {
    "path": "examples/compatibilityExample/build.gradle",
    "chars": 2107,
    "preview": "apply plugin: 'com.android.application'\napply plugin: 'kotlin-android'\napply plugin: 'kotlin-kapt'\napply plugin: 'kotlin"
  },
  {
    "path": "examples/compatibilityExample/gradle.properties",
    "chars": 80,
    "preview": "# Ensure that we do not use AndroidX for this project\nandroid.useAndroidX=false\n"
  },
  {
    "path": "examples/compatibilityExample/lint.xml",
    "chars": 387,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<lint>\n    <!-- Disable the given check in this project -->\n    <issue id=\"AllowB"
  },
  {
    "path": "examples/compatibilityExample/src/main/AndroidManifest.xml",
    "chars": 746,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:to"
  },
  {
    "path": "examples/compatibilityExample/src/main/java/io/realm/examples/compatibility/MyActivity.kt",
    "chars": 317,
    "preview": "package io.realm.examples.compatibility\n\nimport android.support.v7.app.AppCompatActivity\nimport android.os.Bundle\n\nclass"
  },
  {
    "path": "examples/compatibilityExample/src/main/java/io/realm/examples/compatibility/MyApplication.kt",
    "chars": 1374,
    "preview": "/*\n * Copyright 2019 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/compatibilityExample/src/main/res/layout/activity_my_activty.xml",
    "chars": 412,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<android.support.constraint.ConstraintLayout xmlns:android=\"http://schemas.androi"
  },
  {
    "path": "examples/compatibilityExample/src/main/res/values/dimens.xml",
    "chars": 211,
    "preview": "<resources>\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizontal"
  },
  {
    "path": "examples/compatibilityExample/src/main/res/values/realm_colors.xml",
    "chars": 948,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <!-- Grays -->\n    <color name=\"charcoal\">#1C233F</color>\n    <co"
  },
  {
    "path": "examples/compatibilityExample/src/main/res/values/strings.xml",
    "chars": 179,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"app_name\">Realm Compatibility Example</string>\n    "
  },
  {
    "path": "examples/compatibilityExample/src/main/res/values/styles.xml",
    "chars": 373,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" pare"
  },
  {
    "path": "examples/coroutinesExample/build.gradle",
    "chars": 2773,
    "preview": "apply plugin: 'com.android.application'\napply plugin: 'kotlin-android'\napply plugin: 'kotlin-android-extensions'\napply p"
  },
  {
    "path": "examples/coroutinesExample/proguard-rules.pro",
    "chars": 751,
    "preview": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguar"
  },
  {
    "path": "examples/coroutinesExample/src/main/AndroidManifest.xml",
    "chars": 889,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:to"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/MainActivity.kt",
    "chars": 2437,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/MainApplication.kt",
    "chars": 1193,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/data/newsreader/local/RealmNYTDao.kt",
    "chars": 8084,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/data/newsreader/local/RealmNYTimes.kt",
    "chars": 2382,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/data/newsreader/local/repository/NewsReaderRepository.kt",
    "chars": 4487,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/data/newsreader/network/NYTimesApiClient.kt",
    "chars": 2600,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/data/newsreader/network/NYTimesService.kt",
    "chars": 1530,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/data/newsreader/network/model/NYTimes.kt",
    "chars": 2264,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/di/DependencyGraph.kt",
    "chars": 3687,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/ui/details/DetailsFragment.kt",
    "chars": 2541,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/ui/details/DetailsViewModel.kt",
    "chars": 2707,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/ui/main/MainAdapter.kt",
    "chars": 2563,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/ui/main/MainFragment.kt",
    "chars": 7111,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/ui/main/MainViewModel.kt",
    "chars": 1385,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/java/io/realm/examples/coroutinesexample/util/NewsReaderFlowFactory.kt",
    "chars": 2276,
    "preview": "/*\n * Copyright 2020 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/drawable/ic_launcher_background.xml",
    "chars": 5606,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:wi"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/drawable-v24/ic_launcher_foreground.xml",
    "chars": 1703,
    "preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:aapt=\"http://schemas.android.com/aapt\"\n    "
  },
  {
    "path": "examples/coroutinesExample/src/main/res/layout/activity_main.xml",
    "chars": 954,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ Copyright 2020 Realm Inc.\n  ~\n  ~ Licensed under the Apache License, Vers"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/layout/fragment_details.xml",
    "chars": 4819,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ Copyright 2020 Realm Inc.\n  ~\n  ~ Licensed under the Apache License, Vers"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/layout/fragment_main.xml",
    "chars": 3382,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ Copyright 2020 Realm Inc.\n  ~\n  ~ Licensed under the Apache License, Vers"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/layout/item_article.xml",
    "chars": 1526,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http://schemas."
  },
  {
    "path": "examples/coroutinesExample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml",
    "chars": 273,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <b"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml",
    "chars": 273,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <b"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/values/colors.xml",
    "chars": 208,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <color name=\"colorPrimary\">#6200EE</color>\n    <color name=\"color"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/values/dimens.xml",
    "chars": 295,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <dimen name=\"default_padding\">8dp</dimen>\n    <dimen name=\"defaul"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/values/strings.xml",
    "chars": 215,
    "preview": "<resources>\n    <string name=\"app_name\">Coroutines Example</string>\n    <string name=\"error_generic\">An error has occurr"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/values/styles.xml",
    "chars": 380,
    "preview": "<resources>\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.NoActionBar\">\n"
  },
  {
    "path": "examples/coroutinesExample/src/main/res/values/themes.xml",
    "chars": 350,
    "preview": "<resources>\n\n    <style name=\"AppTheme.NoActionBar\">\n        <item name=\"windowActionBar\">false</item>\n        <item nam"
  },
  {
    "path": "examples/encryptionExample/build.gradle",
    "chars": 611,
    "preview": "apply plugin: 'com.android.application'\napply plugin: 'realm-android'\n\nandroid {\n    compileSdkVersion rootProject.sdkVe"
  },
  {
    "path": "examples/encryptionExample/lint.xml",
    "chars": 344,
    "preview": "<lint>\n    <issue id=\"AllowBackup\" severity=\"ignore\" />\n    <issue id=\"IconLauncherShape\" severity=\"ignore\" />\n    <issu"
  },
  {
    "path": "examples/encryptionExample/src/main/AndroidManifest.xml",
    "chars": 873,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:to"
  },
  {
    "path": "examples/encryptionExample/src/main/java/io/realm/examples/encryption/EncryptionExampleActivity.java",
    "chars": 3082,
    "preview": "/*\n * Copyright 2014 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/encryptionExample/src/main/java/io/realm/examples/encryption/MyApplication.java",
    "chars": 840,
    "preview": "/*\n * Copyright 2016 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/encryptionExample/src/main/java/io/realm/examples/encryption/Person.java",
    "chars": 997,
    "preview": "/*\n * Copyright 2014 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/encryptionExample/src/main/java/io/realm/examples/encryption/Util.java",
    "chars": 1148,
    "preview": "/*\n * Copyright 2017 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/encryptionExample/src/main/res/values/strings.xml",
    "chars": 128,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <string name=\"app_name\">Realm Encryption Example</string>\n\n</res"
  },
  {
    "path": "examples/encryptionExample/src/main/res/values/styles.xml",
    "chars": 197,
    "preview": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"android:Theme.Holo.Light.DarkAction"
  },
  {
    "path": "examples/gradle/wrapper/gradle-wrapper.properties",
    "chars": 200,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
  },
  {
    "path": "examples/gradle.properties",
    "chars": 1242,
    "preview": "org.gradle.jvmargs=-Xmx2048M -XX:MaxMetaspaceSize=1024M\norg.gradle.caching=true\nandroid.enableD8=true\n\n# Gradle sync fai"
  },
  {
    "path": "examples/gradlew",
    "chars": 8165,
    "preview": "#!/bin/sh\n\n#\n# Copyright © 2015-2021 the original authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "examples/gradlew.bat",
    "chars": 2838,
    "preview": "@rem\r\n@rem Copyright 2015 the original author or authors.\r\n@rem\r\n@rem Licensed under the Apache License, Version 2.0 (th"
  },
  {
    "path": "examples/gridViewExample/build.gradle",
    "chars": 1342,
    "preview": "apply plugin: 'com.android.application'\napply plugin: 'realm-android'\n\nandroid {\n    compileSdkVersion rootProject.sdkVe"
  },
  {
    "path": "examples/gridViewExample/lint.xml",
    "chars": 387,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<lint>\n    <!-- Disable the given check in this project -->\n    <issue id=\"AllowB"
  },
  {
    "path": "examples/gridViewExample/proguard-rules.pro",
    "chars": 62,
    "preview": "-keep class io.realm.examples.realmgridview.City { <fields>; }"
  },
  {
    "path": "examples/gridViewExample/src/main/AndroidManifest.xml",
    "chars": 810,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "examples/gridViewExample/src/main/assets/cities.json",
    "chars": 1059,
    "preview": "[\n    { \"name\"  : \"Barcelona\",\n      \"votes\" : 23 },\n\n    { \"name\"  : \"San Francisco\",\n      \"votes\" : 21 },\n\n    { \"nam"
  },
  {
    "path": "examples/gridViewExample/src/main/java/io/realm/examples/realmgridview/City.java",
    "chars": 1234,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/gridViewExample/src/main/java/io/realm/examples/realmgridview/CityAdapter.java",
    "chars": 2861,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/gridViewExample/src/main/java/io/realm/examples/realmgridview/GridViewExampleActivity.java",
    "chars": 3597,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/gridViewExample/src/main/java/io/realm/examples/realmgridview/MyApplication.java",
    "chars": 2354,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/gridViewExample/src/main/res/layout/activity_realm_example.xml",
    "chars": 1078,
    "preview": "<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/too"
  },
  {
    "path": "examples/gridViewExample/src/main/res/layout/city_listitem.xml",
    "chars": 893,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "examples/gridViewExample/src/main/res/values/strings.xml",
    "chars": 237,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"app_name\">GridView example</string>\n    <string nam"
  },
  {
    "path": "examples/gridViewExample/src/main/res/values/styles.xml",
    "chars": 197,
    "preview": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"android:Theme.Holo.Light.DarkAction"
  },
  {
    "path": "examples/introExample/build.gradle",
    "chars": 739,
    "preview": "apply plugin: 'com.android.application'\napply plugin: 'realm-android'\n\nandroid {\n    compileSdkVersion rootProject.sdkVe"
  },
  {
    "path": "examples/introExample/lint.xml",
    "chars": 387,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<lint>\n    <!-- Disable the given check in this project -->\n    <issue id=\"AllowB"
  },
  {
    "path": "examples/introExample/src/main/AndroidManifest.xml",
    "chars": 700,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "examples/introExample/src/main/java/io/realm/examples/intro/IntroExampleActivity.java",
    "chars": 11757,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/introExample/src/main/java/io/realm/examples/intro/MyApplication.java",
    "chars": 1054,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/introExample/src/main/java/io/realm/examples/intro/model/Cat.java",
    "chars": 1004,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/introExample/src/main/java/io/realm/examples/intro/model/Dog.java",
    "chars": 1153,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/introExample/src/main/java/io/realm/examples/intro/model/Person.java",
    "chars": 3116,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/introExample/src/main/res/layout/activity_realm_basic_example.xml",
    "chars": 1203,
    "preview": "<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/t"
  },
  {
    "path": "examples/introExample/src/main/res/values/dimens.xml",
    "chars": 211,
    "preview": "<resources>\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizontal"
  },
  {
    "path": "examples/introExample/src/main/res/values/strings.xml",
    "chars": 174,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <string name=\"app_name\">Intro example</string>\n    <string name="
  },
  {
    "path": "examples/introExample/src/main/res/values/styles.xml",
    "chars": 197,
    "preview": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"android:Theme.Holo.Light.DarkAction"
  },
  {
    "path": "examples/introExample/src/main/res/values-w820dp/dimens.xml",
    "chars": 358,
    "preview": "<resources>\n    <!-- Example customization of dimensions originally defined in res/values/dimens.xml\n         (such as s"
  },
  {
    "path": "examples/jsonExample/build.gradle",
    "chars": 925,
    "preview": "apply plugin: 'com.android.application'\napply plugin: 'realm-android'\n\nandroid {\n    compileSdkVersion rootProject.sdkVe"
  },
  {
    "path": "examples/jsonExample/lint.xml",
    "chars": 295,
    "preview": "<lint>\n    <issue id=\"AllowBackup\" severity=\"ignore\" />\n    <issue id=\"IconLauncherShape\" severity=\"ignore\" />\n    <issu"
  },
  {
    "path": "examples/jsonExample/lombok.config",
    "chars": 37,
    "preview": "lombok.addGeneratedAnnotation = false"
  },
  {
    "path": "examples/jsonExample/src/main/AndroidManifest.xml",
    "chars": 797,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "examples/jsonExample/src/main/assets/cities.json",
    "chars": 1059,
    "preview": "[\n    { \"name\"  : \"Barcelona\",\n      \"votes\" : 23 },\n\n    { \"name\"  : \"San Francisco\",\n      \"votes\" : 21 },\n\n    { \"nam"
  },
  {
    "path": "examples/jsonExample/src/main/java/io/realm/examples/json/City.java",
    "chars": 805,
    "preview": "/*\n * Copyright 2014 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/jsonExample/src/main/java/io/realm/examples/json/CityAdapter.java",
    "chars": 2577,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/jsonExample/src/main/java/io/realm/examples/json/JsonExampleActivity.java",
    "chars": 3949,
    "preview": "/*\n * Copyright 2018 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/jsonExample/src/main/java/io/realm/examples/json/MyApplication.java",
    "chars": 834,
    "preview": "/*\n * Copyright 2016 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/jsonExample/src/main/res/layout/activity_realm_example.xml",
    "chars": 998,
    "preview": "<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/too"
  },
  {
    "path": "examples/jsonExample/src/main/res/layout/city_listitem.xml",
    "chars": 724,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "examples/jsonExample/src/main/res/values/dimens.xml",
    "chars": 211,
    "preview": "<resources>\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizontal"
  },
  {
    "path": "examples/jsonExample/src/main/res/values/strings.xml",
    "chars": 165,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"app_name\">JSON Example</string>\n    <string name=\"l"
  },
  {
    "path": "examples/jsonExample/src/main/res/values/styles.xml",
    "chars": 197,
    "preview": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"android:Theme.Holo.Light.DarkAction"
  },
  {
    "path": "examples/jsonExample/src/main/res/values-w820dp/dimens.xml",
    "chars": 358,
    "preview": "<resources>\n    <!-- Example customization of dimensions originally defined in res/values/dimens.xml\n         (such as s"
  },
  {
    "path": "examples/kotlinExample/build.gradle",
    "chars": 1379,
    "preview": "apply plugin: 'com.android.application'\napply plugin: 'kotlin-android'\napply plugin: 'kotlin-kapt'\napply plugin: 'realm-"
  },
  {
    "path": "examples/kotlinExample/lint.xml",
    "chars": 334,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<lint>\n    <issue id=\"AllowBackup\" severity=\"ignore\" />\n    <issue id=\"GoogleAppI"
  },
  {
    "path": "examples/kotlinExample/src/main/AndroidManifest.xml",
    "chars": 746,
    "preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n"
  },
  {
    "path": "examples/kotlinExample/src/main/kotlin/io/realm/examples/kotlin/KotlinExampleActivity.kt",
    "chars": 7398,
    "preview": "/*\n * Copyright 2015 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/kotlinExample/src/main/kotlin/io/realm/examples/kotlin/MyApplication.kt",
    "chars": 890,
    "preview": "/*\n * Copyright 2016 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/kotlinExample/src/main/kotlin/io/realm/examples/kotlin/model/Cat.kt",
    "chars": 870,
    "preview": "/*\n * Copyright 2015 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/kotlinExample/src/main/kotlin/io/realm/examples/kotlin/model/Dog.kt",
    "chars": 869,
    "preview": "/*\n * Copyright 2015 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/kotlinExample/src/main/kotlin/io/realm/examples/kotlin/model/Person.kt",
    "chars": 2004,
    "preview": "/*\n * Copyright 2015 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/kotlinExample/src/main/res/layout/activity_realm_basic_example.xml",
    "chars": 1203,
    "preview": "<ScrollView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/t"
  },
  {
    "path": "examples/kotlinExample/src/main/res/values/dimens.xml",
    "chars": 211,
    "preview": "<resources>\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizontal"
  },
  {
    "path": "examples/kotlinExample/src/main/res/values/strings.xml",
    "chars": 173,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"app_name\">Kotlin example</string>\n    <string name="
  },
  {
    "path": "examples/kotlinExample/src/main/res/values/styles.xml",
    "chars": 197,
    "preview": "<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppTheme\" parent=\"android:Theme.Holo.Light.DarkAction"
  },
  {
    "path": "examples/kotlinExample/src/main/res/values-w820dp/dimens.xml",
    "chars": 358,
    "preview": "<resources>\n    <!-- Example customization of dimensions originally defined in res/values/dimens.xml\n         (such as s"
  },
  {
    "path": "examples/migrationExample/build.gradle",
    "chars": 582,
    "preview": "apply plugin: 'com.android.application'\napply plugin: 'realm-android'\n\nandroid {\n    compileSdkVersion rootProject.sdkVe"
  },
  {
    "path": "examples/migrationExample/lint.xml",
    "chars": 295,
    "preview": "<lint>\n    <issue id=\"AllowBackup\" severity=\"ignore\" />\n    <issue id=\"IconLauncherShape\" severity=\"ignore\" />\n    <issu"
  },
  {
    "path": "examples/migrationExample/src/main/AndroidManifest.xml",
    "chars": 755,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/MigrationExampleActivity.java",
    "chars": 5167,
    "preview": "/*\n * Copyright 2014 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/MyApplication.java",
    "chars": 851,
    "preview": "/*\n * Copyright 2016 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  },
  {
    "path": "examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/model/Migration.java",
    "chars": 6143,
    "preview": "/*\n * Copyright 2014 Realm Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use"
  }
]

// ... and 1217 more files (download for full content)

About this extraction

This page contains the full source code of the realm/realm-java GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1417 files (10.1 MB), approximately 2.7M tokens, and a symbol index with 11653 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!