class SimpleController implements IConfigurable, IReferenceable, IUnreferenceable {
private _worker: any;
private _depedencyResolver = DependencyResolver.fromTuples(
"worker", new Descriptor("*","worker","*","*","1.0")
);
public configure(config) {
this._dependencyResolver.configure(config);
}
public setReferences(references) {
this._dependencyResolver.setReferences(references);
this._worker = this._dependencyResolver.getOneRequired("worker");
}
public unsetReferences() {
this._dependencyResolver = new DependencyResolver();
}
...
}
let references = References.fromTuples(
new Descriptor("sample", "worker", "worker1", "111", "1.0"), new Worker1(),
new Descriptor("sample", "worker", "worker2", "222", "1.0"), new Worker2()
);
let config = ConfigParams.fromTuples(
"dependencies.worker", "*:worker:worker1:111:1.0"
);
let controller = new SimpleController();
controller.configure(config);
controller.setReferences(references);
controller.greeting("world");
controller.unsetReferences();
controller = null;