class ClassA {
protected ClassA(Injector baseGraph,
BlobStoreContext context,
SwiftApi api,
@Memoized Supplier<Set<? extends Location>> locations,
@Assisted String regionId,PayloadSlicer slicer,
@Named(PROPERTY_USER_THREADS) ListeningExecutorService userExecutor) {
}
}
class ClassB extends ClassA {
protected ClassB(Injector baseGraph,
BlobStoreContext context,
SwiftApi api,
@Memoized Supplier<Set<? extends Location>> locations,
@Assisted String regionId,
PayloadSlicer slicer,
@Named(PROPERTY_USER_THREADS) ListeningExecutorService userExecutor) {
super(baseGraph, context, api, locations, regionId, slicer, userExecutor);
}
}
class C extends AbstractModule {
protected void configure() {
bind(classA).to(classB);
}
}
There some problem in the constructor args while binding.
Error that am getting
Caused by: com.google.inject.CreationException: Guice creation errors:
1) No implementation for java.lang.String annotated with @com.google.inject.assistedinject.Assisted(value=) was bound. while locating java.lang.String annotated with @com.google.inject.assistedinject.Assisted(value=) for parameter 4 at
ClassBinClassB's constructor? This is normally not advised. - Grzegorz Górkiewicz