Skip to content

Class Scheduler #1851

@headinthebox

Description

@headinthebox

This should be in the code comments, not in the doc comments.

Why is this an abstract class instead of an interface?

Java doesn't support extension methods and there are many overload methods needing default implementations.
Virtual extension methods aren't available until Java8 which RxJava will not set as a minimum target for a long time.
If only an interface were used Scheduler implementations would then need to extend from an AbstractScheduler pair that gives all of the functionality unless they intend on copy/pasting the functionality.
Without virtual extension methods even additive changes are breaking and thus severely impede library maintenance.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions