2011-03-01 3 views
0

Donc, j'ai classe Bar qui devrait contenir une usine de barres.question de récursivité fournisseur

class Bar { 
    Collection<Bar> children; 
    Bar(BarFactory factory, Foo1 foo, Foo2 foo2){ 

    } 
    addChild(Foo1 foo1){ 
     children.add(factory.create(foo1)); 
    } 
} 
class BarFactory { 
    Bar create(Foo1 foo1); 
} 

Le problème dans la description de BarFactory. Il existe une logique spécifique avec des dépendances d'autres objets. J'ai essayé d'utiliser le mécanisme @Provides, comme

@Provides 
BarFactory provideLogicElementPresenterFactory(Dependence d){ 
    final BarFactory f = new BarFactory(){ 
     @Override 
     public Bar create(Foo1 foo1) { 
      Foo2 foo2 = null;//some logic 
      return new Bar(/*how pass factory here?*/f, foo1, foo2); 
     } 
    }; 
    return f; 
} 

Comment décrire cette structure récursive ou il y a une solution alternative à ce problème?

Répondre

3

Utilisez this au lieu de f lors de l'appel du constructeur Bar.

+1

Ouais. Je devrais certainement aller dormir) Merci beaucoup. –

+0

Absolument aucun problème :) –