File tree Expand file tree Collapse file tree 1 file changed +18
-16
lines changed Expand file tree Collapse file tree 1 file changed +18
-16
lines changed Original file line number Diff line number Diff line change 2222import 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 */
4228public 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.
You can’t perform that action at this time.
0 commit comments