Skip to content

Commit d1530a8

Browse files
committed
Hiding implementation details from Scheduler javadocs (#1851)
1 parent 012bd0d commit d1530a8

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

src/main/java/rx/Scheduler.java

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,26 @@
2222
import rx.subscriptions.MultipleAssignmentSubscription;
2323

2424
/**
25-
* Represents an object that schedules units of work.
26-
* <p>
27-
* Common implementations can be found in {@link Schedulers}.
28-
* <p>
29-
* Why is this an abstract class instead of an interface?
30-
* <ol>
31-
* <li>Java doesn't support extension methods and there are many overload methods needing default
32-
* implementations.</li>
33-
* <li>Virtual extension methods aren't available until Java8 which RxJava will not set as a minimum target for
34-
* a long time.</li>
35-
* <li>If only an interface were used Scheduler implementations would then need to extend from an
36-
* AbstractScheduler pair that gives all of the functionality unless they intend on copy/pasting the
37-
* functionality.</li>
38-
* <li>Without virtual extension methods even additive changes are breaking and thus severely impede library
39-
* maintenance.</li>
40-
* </ol>
25+
* A {@code Scheduler} is an object that schedules units of work. You can find common implementations of this
26+
* class in {@link Schedulers}.
4127
*/
4228
public abstract class Scheduler {
29+
/*
30+
* Why is this an abstract class instead of an interface?
31+
*
32+
* : Java doesn't support extension methods and there are many overload methods needing default
33+
* implementations.
34+
*
35+
* : Virtual extension methods aren't available until Java8 which RxJava will not set as a minimum target for
36+
* a long time.
37+
*
38+
* : If only an interface were used Scheduler implementations would then need to extend from an
39+
* AbstractScheduler pair that gives all of the functionality unless they intend on copy/pasting the
40+
* functionality.
41+
*
42+
* : Without virtual extension methods even additive changes are breaking and thus severely impede library
43+
* maintenance.
44+
*/
4345

4446
/**
4547
* Retrieves or creates a new {@link Scheduler.Worker} that represents serial execution of actions.

0 commit comments

Comments
 (0)