Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
a9178d8
start completeness test
samuelgruetter Sep 17, 2013
61ff944
completeness test for instance methods in Scala adaptor
samuelgruetter Sep 18, 2013
435a279
Merge branch 'master' of github.com:Netflix/RxJava into completenesstest
samuelgruetter Sep 18, 2013
4076ad1
extract static methods in completeness test
samuelgruetter Sep 18, 2013
b051f09
completeness test now also checks static methods
samuelgruetter Sep 18, 2013
1179bfd
all move explanations why methods are not present in Observable to Co…
samuelgruetter Sep 18, 2013
b236f89
add zipWithIndex, sum, product, and an explanation why no average
samuelgruetter Sep 18, 2013
a078522
Merge branch 'master' into idiomaticscala
samuelgruetter Sep 19, 2013
2b7f062
add merge operation and examples
samuelgruetter Sep 19, 2013
9fc14a1
add methods and examples
samuelgruetter Sep 19, 2013
fe1c127
first and firstOrElse
samuelgruetter Sep 20, 2013
5a813d6
add distinct and distinctUntilChanged, but
samuelgruetter Sep 20, 2013
1495968
add concat, length, retry; rename replay()->replay, merge->flatten
samuelgruetter Sep 20, 2013
55a552a
add `parallel` and example
samuelgruetter Sep 20, 2013
b4019b9
add mergeDelayError and flattenDelayError
samuelgruetter Sep 20, 2013
4e31815
add combineLatest, apply(java Future), remove docu without impl
samuelgruetter Sep 20, 2013
cff6ae1
update Scala TODO list
samuelgruetter Sep 20, 2013
51c544d
add markdown export to CompletenessTest
samuelgruetter Sep 20, 2013
3eb92fd
add Scala/Java Observable comparison
samuelgruetter Sep 20, 2013
a2ab731
delete comparison.md because tooltips do not work on github
samuelgruetter Sep 20, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 9 additions & 12 deletions language-adaptors/rxjava-scala/TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,14 @@ TODOs for Scala Adapter

This is a (probably incomplete) list of what still needs to be done in the Scala adaptor:

- [ ] ConnectableObservable: Implement adaptor. Note that it cannot extend Scala Observable, since value classes are final.
- [ ] more methods of BlockingObservable
- [ ] multicast, publish, replay once we have ConnectableObservable
- [ ] groupBy and GroupedObservable
- [ ] mirror complete Java package structure in Scala
- [ ] convert Java futures to Scala futures
- [ ] Add methods present in Scala collections library, but not in RxJava, e.g. zipWithIndex, aggregate à la Scala
- [ ] mergeDelayError, combineLatest, merge, concat, zip: decide if instance method or static or both, decide about arities > 2
- [ ] naming: switch() or switchOnNext()?
- [ ] decide where the MovieLib/MovieLibUsage (use Scala code from Java code) example should live and make sure gradle builds it in the right order
- [ ] Avoid text duplication in scaladoc using templates, add examples, distinction between use case signature and full signature
- [ ] other small TODOs
* mirror complete Java package structure in Scala
* objects for classes with static methods or singletons (e.g. Schedulers, Subscriptions)
* Notification as a case class
* integrating Scala Futures, should there be a common base interface for Futures and Observables?
* Add methods present in Scala collections library, but not in RxJava, e.g. aggregate à la Scala, collect, exists, tails, ...
* combineLatest with arities > 2
* decide where the MovieLib/MovieLibUsage (use Scala code from Java code) example should live and make sure gradle builds it in the right order
* Avoid text duplication in scaladoc using templates, add examples, distinction between use case signature and full signature
* other small TODOs


Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@ object ImplicitFunctionConversions {
new Func2[A, B, jlang.Boolean] {
def call(a: A, b: B): jlang.Boolean = f(a, b).booleanValue
}

implicit def scalaFuncNToRxFuncN[R](f: Seq[java.lang.Object] => R): FuncN[R] =
new FuncN[R] {
def call(args: java.lang.Object*): R = f(args)
}

/**
* Converts a specific function shape (used in takeWhile) to the equivalent Java types with an Rx Func2
Expand Down
Loading