1 package com.billkuker.rocketry.motorsim;
\r
3 import javax.measure.unit.SI;
\r
5 import org.jscience.physics.amount.Amount;
\r
6 import com.billkuker.rocketry.motorsim.Validating.ValidationException;
\r
8 public class Motor implements Validating{
\r
9 private Chamber chamber;
\r
10 private Grain grain;
\r
11 private Nozzle nozzle;
\r
13 private String name;
\r
15 public void validate() throws ValidationException {
\r
16 if ( chamber.chamberVolume().isLessThan(grain.volume(Amount.valueOf(0, SI.MILLIMETER)))){
\r
17 throw new ValidationException(this, "Fuel does not fit in chamber");
\r
19 if ( chamber instanceof Validating )
\r
20 ((Validating)chamber).validate();
\r
21 if ( grain instanceof Validating )
\r
22 ((Validating)grain).validate();
\r
23 if ( nozzle instanceof Validating )
\r
24 ((Validating)nozzle).validate();
\r
25 if ( fuel instanceof Validating )
\r
26 ((Validating)fuel).validate();
\r
29 public Chamber getChamber() {
\r
33 public void setChamber(Chamber chamber) {
\r
34 this.chamber = chamber;
\r
37 public Grain getGrain() {
\r
41 public void setGrain(Grain grain) {
\r
45 public Nozzle getNozzle() {
\r
49 public void setNozzle(Nozzle nozzle) {
\r
50 this.nozzle = nozzle;
\r
53 public Fuel getFuel() {
\r
57 public void setFuel(Fuel fuel) {
\r
61 public String getName() {
\r
65 public void setName(String name) {
\r