Итак, у меня есть класс Bar
, который должен содержать фабрику Баров.
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);
}
Проблема в описании BarFactory. Есть специфическая логика с зависимостями от других объектов. Я пытался использовать механизм @Provides
, как
@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;
}
Как описать такую рекурсивную структуру или есть альтернативное решение этой проблемы?