166 lines
3.3 KiB
Java
166 lines
3.3 KiB
Java
package seabedexplorer.submersible.equipment;
|
|
|
|
import java.util.Collection;
|
|
import seabedexplorer.data.Data;
|
|
import seabedexplorer.submersible.Submersible;
|
|
import seabedexplorer.submersible.equipment.datacollector.DataCollector;
|
|
import seabedexplorer.submersible.equipment.locationtracking.GPS;
|
|
import seabedexplorer.submersible.equipment.locationtracking.Location;
|
|
import seabedexplorer.submersible.state.SubmersibleState;
|
|
|
|
/**
|
|
* Equipment
|
|
*
|
|
* @author JLScott1999
|
|
*/
|
|
public abstract class Equipment extends Submersible
|
|
{
|
|
|
|
private Submersible submersible;
|
|
private final DataCollector dataCollector;
|
|
|
|
public Equipment(Submersible submersible, DataCollector dataCollector)
|
|
{
|
|
this.submersible = submersible;
|
|
this.dataCollector = dataCollector;
|
|
}
|
|
|
|
protected void setSubmersible(Submersible submersible)
|
|
{
|
|
this.submersible = submersible;
|
|
}
|
|
|
|
@Override
|
|
public Submersible getSubmersible()
|
|
{
|
|
return submersible;
|
|
}
|
|
|
|
@Override
|
|
public String getSubmersibleType()
|
|
{
|
|
return submersible.getSubmersibleType();
|
|
}
|
|
|
|
@Override
|
|
public void addData(Data data)
|
|
{
|
|
submersible.addData(data);
|
|
}
|
|
|
|
@Override
|
|
public void collectData()
|
|
{
|
|
addData(dataCollector.performReading());
|
|
}
|
|
|
|
@Override
|
|
public Collection<Data> getData() {
|
|
return submersible.getData();
|
|
}
|
|
|
|
public boolean collectWater()
|
|
{
|
|
return submersible.collectWater();
|
|
}
|
|
|
|
public boolean collectMaterial()
|
|
{
|
|
return submersible.collectMaterial();
|
|
}
|
|
|
|
public boolean collectMappingData()
|
|
{
|
|
return submersible.collectMappingData();
|
|
}
|
|
|
|
@Override
|
|
public void clearData()
|
|
{
|
|
submersible.clearData();
|
|
}
|
|
|
|
@Override
|
|
public void changeState(SubmersibleState state)
|
|
{
|
|
submersible.changeState(state);
|
|
}
|
|
|
|
@Override
|
|
public SubmersibleState getState()
|
|
{
|
|
return submersible.getState();
|
|
}
|
|
|
|
@Override
|
|
public String getStateName()
|
|
{
|
|
return submersible.getStateName();
|
|
}
|
|
|
|
@Override
|
|
public void move(Location loc)
|
|
{
|
|
submersible.move(loc);
|
|
}
|
|
|
|
@Override
|
|
public void stopMove()
|
|
{
|
|
submersible.stopMove();
|
|
}
|
|
|
|
@Override
|
|
public boolean canMove()
|
|
{
|
|
return submersible.canMove();
|
|
}
|
|
|
|
@Override
|
|
public boolean returnToVessel()
|
|
{
|
|
return submersible.returnToVessel();
|
|
}
|
|
|
|
@Override
|
|
public GPS getGPS()
|
|
{
|
|
return submersible.getGPS();
|
|
}
|
|
|
|
@Override
|
|
public void setGPS(GPS gps)
|
|
{
|
|
submersible.setGPS(gps);
|
|
}
|
|
|
|
@Override
|
|
public boolean update(String cmd)
|
|
{
|
|
boolean result;
|
|
if (cmd.equalsIgnoreCase("all"))
|
|
{
|
|
collectData();
|
|
result = true;
|
|
submersible.update(cmd);
|
|
}
|
|
else if (cmd.equalsIgnoreCase("info"))
|
|
{
|
|
System.out.println(toString() + "\n");
|
|
result = true;
|
|
}
|
|
else
|
|
{
|
|
result = submersible.update(cmd);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public String toString()
|
|
{
|
|
return submersible.toString() + "\n ";
|
|
}
|
|
|
|
}
|