create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / file / MotorFinder.java
1 package net.sf.openrocket.file;
2
3 import net.sf.openrocket.aerodynamics.WarningSet;
4 import net.sf.openrocket.motor.Motor;
5
6 /**
7  * Interface for finding the appropriate motor for one defined in an ORK file.
8  * 
9  * @author Sampo Niskanen <sampo.niskanen@iki.fi>
10  */
11 public interface MotorFinder {
12         
13         /**
14          * Return the motor to inject to the rocket design when loading a file.
15          * This may also return dysfunctional motor placeholders that will later be
16          * replaced with the appropriate motor.
17          * <p>
18          * Any parameter that is null/NaN should be ignored when finding the motors.
19          * The method can also add appropriate warnings to the provided warning set
20          * in case there are problems selecting the motor.
21          * 
22          * @return      the motor to use in the design, or <code>null</code> for no motor.
23          */
24         public Motor findMotor(Motor.Type type, String manufacturer, String designation, double diameter,
25                         double length, String digest, WarningSet warnings);
26         
27         
28 }