Skip to content

Commit 0603e39

Browse files
Java example using Scala Observable code
1 parent dbf0375 commit 0603e39

File tree

6 files changed

+77
-0
lines changed

6 files changed

+77
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
rxjava-scala-java
3+
-----------------
4+
5+
Contains examples illustrating how RxScala code can be used from Java.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
2+
apply plugin: 'osgi'
3+
4+
5+
project(':language-adaptors:rxjava-scala-java') {
6+
//sourceSets.test.java.srcDir 'src/examples/java'
7+
sourceSets.main.java.srcDir 'src/main/java'
8+
}
9+
10+
dependencies {
11+
compile 'org.scala-lang:scala-library:2.10.+'
12+
13+
compile project(':rxjava-core')
14+
15+
compile project(':language-adaptors:rxjava-scala')
16+
17+
provided 'junit:junit-dep:4.10'
18+
provided 'org.mockito:mockito-core:1.8.5'
19+
provided 'org.scalatest:scalatest_2.10:1.9.1'
20+
}
21+
22+
jar {
23+
manifest {
24+
name = 'rxjava-scala-java'
25+
instruction 'Bundle-Vendor', 'Netflix'
26+
instruction 'Bundle-DocURL', 'https://github.com/Netflix/RxJava'
27+
instruction 'Import-Package', '!org.junit,!junit.framework,!org.mockito.*,*'
28+
instruction 'Fragment-Host', 'com.netflix.rxjava.core'
29+
}
30+
}
31+
32+
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package rx.lang.scalatests;
2+
3+
import org.junit.Test;
4+
5+
import rx.Observable;
6+
import rx.util.functions.Action1;
7+
8+
9+
public class MovieLibUsage {
10+
11+
Action1<Movie> moviePrinter = new Action1<Movie>() {
12+
public void call(Movie m) {
13+
System.out.println("A movie of length " + m.lengthInSeconds() + "s");
14+
}
15+
};
16+
17+
@Test
18+
public void test() {
19+
MovieLib lib = new MovieLib(Observable.from(new Movie(3000), new Movie(1000), new Movie(2000)));
20+
21+
lib.longMovies().subscribe(moviePrinter);
22+
}
23+
24+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package rx.lang.scalatests
2+
3+
import rx.lang.scala.Observable
4+
5+
class Movie(val lengthInSeconds: Int) { }
6+
7+
class MovieLib(val moviesStream: Observable[Movie]) {
8+
9+
val threshold = 1200
10+
11+
def shortMovies: Observable[Movie] = moviesStream.filter(_.lengthInSeconds <= threshold)
12+
13+
def longMovies: Observable[Movie] = moviesStream.filter(_.lengthInSeconds > threshold)
14+
15+
}

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ include 'rxjava-core', \
33
'language-adaptors:rxjava-groovy', \
44
'language-adaptors:rxjava-clojure', \
55
'language-adaptors:rxjava-scala', \
6+
'language-adaptors:rxjava-scala-java', \
67
'rxjava-contrib:rxjava-swing', \
78
'rxjava-contrib:rxjava-android'

0 commit comments

Comments
 (0)