📄 hiremanage.java
字号:
/**
* Created by IntelliJ IDEA.
* User: Ray
* Date: 2008-4-8
* Time: 13:47:26
* To change this template use File | Settings | File Templates.
*/
package vehicleinfo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import report.HireReport;
public class HireManage {
private ArrayList<Vehicle> vehicles; //define Vehicle ArrayList
public HireManage(){
vehicles=new ArrayList<Vehicle>();
}
public HireManage(ArrayList<Vehicle> vehicles){
this.vehicles=vehicles;
}
//add new vehicle
public void vehicleRegister(Vehicle vehicle) {
vehicles.add(vehicle);
}
//get total number of vehicles
public int getNumberOfVehicle() {
return vehicles.size();
}
//search vehicle by registration
public Vehicle searchFor(String registration){
for(Vehicle vehicle:vehicles){
if(vehicle.getRegistration().equals(registration))
return vehicle;
}
return null;
}
//get the state of hire
public boolean hireVehicle(String registration) {
Vehicle vehicle;
if((vehicle=searchFor(registration))!=null&&vehicle.getHireState().equals("Unhired")){
vehicle.resetHireState("Hired");
return true;
}
return false;
}
//get all vehicles
public ArrayList<Vehicle> getAllVehicles() {
return vehicles;
}
//revert vehicle and return the expense report
public String revertVehicle(String registration,double newMileage) {
Vehicle vehicle;
if((vehicle=searchFor(registration))!=null){
vehicle.resetNewMileage(newMileage);
HireReport hireReport=new HireReport(vehicle);
vehicle.resetHireState("Unhired");
String report=hireReport.getReport();
vehicle.resetCurruntMileage(vehicle.getNewMileage());
return report;
}
return null;
}
//default sort
public void vehiclesSort() {
Collections.sort(vehicles);
}
//delete a vehicle
public void deleteVehicle(Vehicle vehicle) {
vehicles.remove(vehicle);
}
//sort by type
@SuppressWarnings("unchecked")
public void sortByType() {
Collections.sort(vehicles,new Comparator(){
public int compare(final Object arg0, final Object arg1) {
final String s1=((Vehicle)arg0).getVehicleType();
final String s2=((Vehicle)arg1).getVehicleType();
return s1.compareTo(s2);
}
});
}
//sort by registration
@SuppressWarnings("unchecked")
public void sortByRegistration() {
Collections.sort(vehicles,new Comparator(){
public int compare(final Object arg0, final Object arg1) {
final String s1=((Vehicle)arg0).getRegistration();
final String s2=((Vehicle)arg1).getRegistration();
return s1.compareTo(s2);
}
});
}
//sort by hire state
@SuppressWarnings("unchecked")
public void sortByHireState() {
Collections.sort(vehicles,new Comparator(){
public int compare(final Object arg0, final Object arg1) {
final String s1=((Vehicle)arg0).getHireState();
final String s2=((Vehicle)arg1).getHireState();
return s1.compareTo(s2);
}
});
}
//sort by colour
@SuppressWarnings("unchecked")
public void sortByColour() {
Collections.sort(vehicles,new Comparator(){
public int compare(final Object arg0, final Object arg1) {
final String s1=((Vehicle)arg0).getColour();
final String s2=((Vehicle)arg1).getColour();
return s1.compareTo(s2);
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -