abstract void remove(OSGiModuleInfoSnapshot snapshot);
- abstract @NonNull AbstractInstances toActive(BindingRuntimeGenerator generator, ComponentFactory factory);
+ abstract @NonNull AbstractInstances toActive(BindingRuntimeGenerator generator,
+ ComponentFactory<OSGiBindingRuntimeContextImpl> factory);
abstract @NonNull AbstractInstances toInactive();
}
}
@Override
- AbstractInstances toActive(final BindingRuntimeGenerator generator, final ComponentFactory factory) {
+ AbstractInstances toActive(final BindingRuntimeGenerator generator,
+ final ComponentFactory<OSGiBindingRuntimeContextImpl> factory) {
final ActiveInstances active = new ActiveInstances(generator, factory);
instances.stream()
.sorted(Comparator.comparing(OSGiModuleInfoSnapshot::getGeneration).reversed())
}
private static final class ActiveInstances extends AbstractInstances {
- private final Map<OSGiModuleInfoSnapshot, ComponentInstance> instances = new IdentityHashMap<>();
+ private final Map<OSGiModuleInfoSnapshot, ComponentInstance<OSGiBindingRuntimeContextImpl>> instances =
+ new IdentityHashMap<>();
private final BindingRuntimeGenerator generator;
- private final ComponentFactory factory;
+ private final ComponentFactory<OSGiBindingRuntimeContextImpl> factory;
- ActiveInstances(final BindingRuntimeGenerator generator, final ComponentFactory factory) {
+ ActiveInstances(final BindingRuntimeGenerator generator,
+ final ComponentFactory<OSGiBindingRuntimeContextImpl> factory) {
this.generator = requireNonNull(generator);
this.factory = requireNonNull(factory);
}
@Override
void remove(final OSGiModuleInfoSnapshot snapshot) {
- final ComponentInstance instance = instances.remove(snapshot);
+ final var instance = instances.remove(snapshot);
if (instance != null) {
instance.dispose();
} else {
@Override
AbstractInstances toActive(final BindingRuntimeGenerator ignoreGenerator,
- final ComponentFactory ignoreFactory) {
+ final ComponentFactory<OSGiBindingRuntimeContextImpl> ignoreFactory) {
throw new IllegalStateException("Attempted to activate active instances");
}
instances.values().forEach(ComponentInstance::dispose);
return new InactiveInstances(instances.keySet());
}
-
}
private static final Logger LOG = LoggerFactory.getLogger(OSGiBindingRuntime.class);
BindingRuntimeGenerator generator = null;
@Reference(target = "(component.factory=" + OSGiBindingRuntimeContextImpl.FACTORY_NAME + ")")
- ComponentFactory contextFactory = null;
+ ComponentFactory<OSGiBindingRuntimeContextImpl> contextFactory = null;
@GuardedBy("this")
private AbstractInstances instances = new InactiveInstances();