I tried to use the Java ServiceLoader to find all classes that implement a specific interface like so:
loader = ServiceLoader.load(Operation.class); try {
If the implementations are ones that you wrote yourself, you could use AutoService to make them available through the ServiceLoader interface, eg
ServiceLoader
@AutoService(Operation.class) class Foo implements FooInterface { } @AutoService(Operation.class) class Bar extends Foo { }