Hello, Norman!

Sure, I'd like to see your approach.

On Thu, Aug 9, 2012 at 10:02 PM, Norman Franke <nor...@myasd.com> wrote:

> If all the workers are in the same package you could make/Google a
> PackageEnumerator class that uses a ClassLoader to get all of the classes
> in the package, and then register those. I do this with my DAOs interface
> and implementations to keep me from having to remember to add them to the
> AppModule.
>
> I can dig up some code if you are interested and assuming you can get an
> instance of the service via the class.
>
> Norman Franke
> Answering Service for Directors, Inc.
> www.myasd.com
>
>
>
> On Aug 9, 2012, at 1:38 PM, Dmitry Gusev wrote:
>
> > Hi,
> >
> > I have several implementations of Worker interface:
> >
> >        binder.bind(Worker.class, GitCloneWorker.class).withId(GIT_CLONE);
> >
> >        binder.bind(Worker.class, GitPullWorker.class).withId(GIT_PULL);
> >
> > Right now I'm doing this:
> >
> > public static WorkerManager buildWorkerManager(
> >
> >            @InjectService(GIT_CLONE) Worker gitCloneWorker,
> >
> >            @InjectService(GIT_PULL) Worker gitPullWorker) {
> >
> >        WorkerManager workerManager = new WorkerManagerImpl();
> >
> >        workerManager.registerWorker(gitCloneWorker);
> >
> >        workerManager.registerWorker(gitPullWorker);
> >
> >        return workerManager;
> >
> >    }
> >
> > But I'd like to inject them all at once like this:
> >
> >    public static WorkerManager buildWorkerManager(Collection<Worker>
> > workers) {
> >
> >        WorkerManager workerManager = new WorkerManagerImpl();
> >
> >        for (Worker worker : workers) {
> >
> >            workerManager.registerWorker(worker);
> >
> >        }
> >
> >        return workerManager;
> >
> >    }
> >
> > This code will even run, but workers would be an empty collection.
> >
> > Is it possible?
> >
> > --
> > Dmitry Gusev
> >
> > AnjLab Team
> > http://anjlab.com
>
>


-- 
Dmitry Gusev

AnjLab Team
http://anjlab.com

Reply via email to