commands icon indicating copy to clipboard operation
commands copied to clipboard

Live Update Dependencies

Open aikar opened this issue 7 years ago • 0 comments

Given:

class A implements Foo {}
class B implements Foo {}

class Command extends BaseCommand {
    @Dependency Foo foo;
}
manager.registerDependency(Foo.class, new A());
BaseCommand command = new Command();
manager.registerCommand(command);
// command.foo == instance of A
// 3 minutes later
manager.registerDependency(Foo.class, new B());
// command.foo should be updated to now be the instance of B

Anytime dependencies are set, re-apply the injection phase and update the dependency to the latest value.

aikar avatar Jan 25 '18 23:01 aikar