1 package net.sf.openrocket.optimization.services;
3 import java.util.ArrayList;
4 import java.util.Collection;
6 import java.util.ServiceLoader;
8 import net.sf.openrocket.document.OpenRocketDocument;
9 import net.sf.openrocket.optimization.rocketoptimization.OptimizableParameter;
10 import net.sf.openrocket.optimization.rocketoptimization.SimulationModifier;
12 public final class OptimizationServiceHelper {
14 private OptimizationServiceHelper() {
15 // Prevent instantiation
19 * Return the simulation modifiers for an OpenRocketDocument. This queries the
20 * getModifiers() method from all available services and returns a collection of all
23 * @param document the OpenRocketDocument.
24 * @return a collection of all simulation modifiers applicable to the document.
26 public static Collection<SimulationModifier> getSimulationModifiers(OpenRocketDocument document) {
27 List<SimulationModifier> list = new ArrayList<SimulationModifier>();
29 ServiceLoader<SimulationModifierService> loader = ServiceLoader.load(SimulationModifierService.class);
30 for (SimulationModifierService service : loader) {
31 list.addAll(service.getModifiers(document));
40 * Return the optimization parameters for an OpenRocketDocument. This queries the
41 * getParameters() method from all available services and returns a collection of all
44 * @param document the OpenRocketDocument.
45 * @return a collection of all optimization parameters applicable to the document.
47 public static Collection<OptimizableParameter> getOptimizableParameters(OpenRocketDocument document) {
48 List<OptimizableParameter> list = new ArrayList<OptimizableParameter>();
50 ServiceLoader<OptimizableParameterService> loader = ServiceLoader.load(OptimizableParameterService.class);
51 for (OptimizableParameterService service : loader) {
52 list.addAll(service.getParameters(document));