보조 주입을 사용하여 clientfactory에서 가져온 여러 개의 발표자 위젯이 있습니다.enum 매개 변수가있는 보조 주입
public interface FieldFactory {
TextboxPresenterWidget createTextBoxWidget(Field field);
BooleanPresenterWidget createBooleanWidget(Field field);
...
}
이 현재 잘 작동하지만 내가하고 싶은 것은 특별히 불러 내고 대신 얻을 수있는 주입의 한 부분으로 그것의 유형에 통과 할 수없이 내가 원하는 위젯을 만들 수있다 올바른 PresenterWidget.
각 'Field'개체는 어떤 유형의 열거 형 속성을가집니다 ... 방법이 있다면 어떻게 처리 할 것인지 궁금합니다.
바람직하게는 내 공장은 더 같을 것이다 : 모든 입력에 대한
이...
for(Field field : fields) {
addToSlot(SLOT_NAME, fieldFactory.create(field, field.getType()));
}
...
감사합니다, 그것은 많이 감사합니다 :
public interface FieldFactory {
TextboxPresenterWidget create(Field field, FieldType type);
BooleanPresenterWidget create(Field field, FieldType type);
...
}
이 내 IMPL 코드가 더처럼 만들 것입니다!
진 2.1 결합 다 지원하는 것은, 당신이 열거 떨어져 맵을 생성하고 사용할 수있다 - 자세한 내용 –
에 대한 http://code.google.com/p/google-guice/wiki/Multibindings 참조 고마워, 나는 이것을 조사 할 것이다. – fatkid