package com.billkuker.rocketry.motorsim;\r
\r
-public class Motor {\r
+import javax.measure.unit.SI;\r
+\r
+import org.jscience.physics.amount.Amount;\r
+import com.billkuker.rocketry.motorsim.Validating.ValidationException;\r
+\r
+public class Motor implements Validating{\r
private Chamber chamber;\r
private Grain grain;\r
private Nozzle nozzle;\r
private Fuel fuel;\r
+ private String name;\r
+ \r
+ public void validate() throws ValidationException {\r
+ if ( chamber.chamberVolume().isLessThan(grain.volume(Amount.valueOf(0, SI.MILLIMETER)))){\r
+ throw new ValidationException(this, "Fuel does not fit in chamber");\r
+ }\r
+ if ( chamber instanceof Validating )\r
+ ((Validating)chamber).validate();\r
+ if ( grain instanceof Validating )\r
+ ((Validating)grain).validate();\r
+ if ( nozzle instanceof Validating )\r
+ ((Validating)nozzle).validate();\r
+ if ( fuel instanceof Validating )\r
+ ((Validating)fuel).validate();\r
+ }\r
\r
public Chamber getChamber() {\r
return chamber;\r
public void setFuel(Fuel fuel) {\r
this.fuel = fuel;\r
}\r
+\r
+ public String getName() {\r
+ return name;\r
+ }\r
+\r
+ public void setName(String name) {\r
+ this.name = name;\r
+ }\r
}\r