package com.plectix.simulator.simulator.initialization;
import com.plectix.simulator.interfaces.ConnectedComponentInterface;
import com.plectix.simulator.simulationclasses.injections.Injection;
import com.plectix.simulator.simulationclasses.solution.SuperSubstance;
import com.plectix.simulator.staticanalysis.Agent;
public final class SuperInjectionSettingStrategy implements InjectionSettingStrategy {
private final SuperSubstance superSubstance;
public SuperInjectionSettingStrategy(SuperSubstance substance) {
superSubstance = substance;
}
public final void process(ConnectedComponentInterface component, Agent agent) {
Injection injection = component.createInjection(agent);
if (injection != null) {
injection.setSuperSubstance(superSubstance);
if (!agent.hasSimilarInjection(injection)) {
component.setInjection(injection);
}
}
}
}