que estoy tratando de inyectar cosas con Google Guice 2.0 y tengo la siguiente estructura:La inyección colección de clases con Guice
FooAction implements Action
BarAction implements Action
entonces tengo una ActionLibrary con el siguiente constructor:
ActionLibrary (List<Action> theActions)
Cuando solicito una instancia de ActionLibrary de Guice, me gustaría que Guice identifique las dos clases de acción registradas (FooAction, BarAction) y las pase al constructor. La motivación aquí es que cuando agregue una tercera acción BazAction, sería tan simple como registrarla en el Módulo y se agregaría automáticamente a la lista en el constructor.
¿Esto es posible?
¿Qué pasa si realmente se requiere 'List' y por qué no incluso' Collection extiende Acción> '? – jilt3d
'List' no tiene sentido porque la idea de' Multibinder' es que recolecta enlaces de varios módulos ... y no hay un orden confiable definido por el usuario para los artículos. Si realmente necesita una 'Lista' con elementos en un orden específico, solo tiene sentido crear esa lista usted mismo y vincularla directamente. Pero el típico caso de uso para 'Multibinder' vincula múltiples implementaciones de una interfaz, en cuyo caso el orden normalmente no debería importar y no quiere más de lo mismo. – ColinD