Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 0 additions & 38 deletions Airline/src/Main.java

This file was deleted.

11 changes: 6 additions & 5 deletions Airline/src/managers/airline/iot/lviv/ua/AirlineManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@

import models.airline.iot.lviv.ua.Airplane;

public interface AirlineManager<A> {
LinkedList<Airplane> list = new LinkedList<Airplane>();


public interface AirlineManager <A>{
LinkedList<Airplane> list = new LinkedList<Airplane>();
List<Airplane> sortByMaxSpeed(List<Airplane> list, boolean sortOrder);

List<Airplane> sortByMaxDistance(List<Airplane> list, boolean sortOrder);

int countSeats(Object aircraft);

double countMaxLoadCapacity(Object aircraft);



}
Original file line number Diff line number Diff line change
@@ -1,40 +1,107 @@
package managers.airline.iot.lviv.ua;

import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import models.airline.iot.lviv.ua.Airplane;
import models.airline.iot.lviv.ua.CargoAircraft;
import models.airline.iot.lviv.ua.PassengerAircraft;

public class AirlineManagerImplementation implements AirlineManager<Object>{
public class AirlineManagerImplementation implements AirlineManager<Object> {
public static void main(String[] args) {
PassengerAircraft Boeing747 = new PassengerAircraft("Boeing747", 120, 16000, 2000, 500, 1000, 6);
CargoAircraft Antonov = new CargoAircraft("Antonov", 510, 100000, 900, 900, 1200, 12);
PassengerAircraft Boeing777 = new PassengerAircraft("Boeing777", 550, 90000, 950, 892, 1300, 9);
LinkedList<Airplane> list = new LinkedList<Airplane>();
list.add(Boeing747);
list.add(Boeing777);
list.add(Antonov);

AirlineManagerImplementation manager = new AirlineManagerImplementation();

System.out.println("List elements (" + list.size() + "):");
for (int i = 0; i < list.size(); i++) {
if (list.get(i) instanceof Airplane) {
System.out.println(list.get(i).getName());
}
}

manager.sortByMaxSpeed(list, true);

System.out.println("\nSort by maximum speed - ascending:");
for (int i = 0; i < list.size(); i++) {
if (list.get(i) instanceof Airplane) {
System.out.println(list.get(i).getName() +" = " + list.get(i).getMaxSpeed());
}
}

manager.sortByMaxSpeed(list, false);

System.out.println("\nSort by maximum speed - descending:");
for (int i = 0; i < list.size(); i++) {
if (list.get(i) instanceof Airplane) {
System.out.println(list.get(i).getName() +" = " + list.get(i).getMaxSpeed());
}
}

manager.sortByMaxDistance(list, true);

System.out.println("\nSort by maximum speed - ascending:");
for (int i = 0; i < list.size(); i++) {
if (list.get(i) instanceof Airplane) {
System.out.println(list.get(i).getName() +" = " + list.get(i).getMaxDistance());
}
}

manager.sortByMaxDistance(list, false);

System.out.println("\nSort by maximum speed - descending:");
for (int i = 0; i < list.size(); i++) {
if (list.get(i) instanceof Airplane) {
System.out.println(list.get(i).getName() +" = " + list.get(i).getMaxDistance());
}
}

System.out.println("\nCount seats:");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getName()+" = "+manager.countSeats(list.get(i)));
}

System.out.println("\nCount maximum load capacity:");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getName()+" = "+manager.countMaxLoadCapacity(list.get(i)));
}
}

@Override
public List<Airplane> sortByMaxSpeed(List<Airplane> list, boolean sortOrder) {
if (sortOrder == true) {
// ascending
list.sort(Comparator.comparing(Airplane::getMaxSpeed));
}else {
} else {
// descending
list.sort(Comparator.comparing(Airplane::getMaxSpeed).reversed());
}
return list;
}

@Override
public List<Airplane> sortByMaxDistance(List<Airplane> list, boolean sortOrder) {
if (sortOrder == true) {
// ascending
list.sort(Comparator.comparing(Airplane::getMaxDistance));
}else {
} else {
// descending
list.sort(Comparator.comparing(Airplane::getMaxDistance).reversed());
}
return list;
}

@Override
public int countSeats(Object aircraft) {
public int countSeats(Object aircraft) {
return ((Airplane) aircraft).getSeatsNumber();
}

@Override
public double countMaxLoadCapacity(Object aircraft) {
return ((Airplane) aircraft).getMaxLoadCapacity();
Expand Down
39 changes: 25 additions & 14 deletions Airline/src/models/airline/iot/lviv/ua/Airplane.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
package models.airline.iot.lviv.ua;

public abstract class Airplane{
private int seatsNumber;
private double maxLoadCapacity;
private int maxDistance;
private int maxSpeed;
private int flightRange;
private int fuselageDiameter;
public abstract class Airplane {
private String name;
private int seatsNumber;
private double maxLoadCapacity;
private int maxDistance;
private int maxSpeed;
private int flightRange;
private int fuselageDiameter;
private CabinNarrow cabinNarrow;

public Airplane() {

}

public Airplane(int seatsNumber, double maxLoadCapacity, int maxDistance, int maxSpeed, int flightRange, int fuselageDiameter) {

}

public Airplane(String name, int seatsNumber, double maxLoadCapacity, int maxDistance, int maxSpeed, int flightRange,
int fuselageDiameter) {
this.name = name;
this.seatsNumber = seatsNumber;
this.maxLoadCapacity = maxLoadCapacity;
this.maxDistance = maxDistance;
Expand Down Expand Up @@ -76,6 +79,14 @@ public CabinNarrow getCabinNarrow() {

public void setCabinNarrow(CabinNarrow cabinNarrow) {
this.cabinNarrow = cabinNarrow;
}

}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

}
13 changes: 7 additions & 6 deletions Airline/src/models/airline/iot/lviv/ua/CargoAircraft.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
public class CargoAircraft extends Airplane {
private boolean loadingAndUnloadingSystem;
private String cargoAircraftCategory;

public CargoAircraft() {
super();
}

public CargoAircraft(int seatsNumber, double maxLoadCapacity, int maxDistance, int maxSpeed, int flightRange, int fuselageDiameter) {
super(seatsNumber, maxLoadCapacity, maxDistance, maxSpeed, flightRange, fuselageDiameter);

public CargoAircraft(String name, int seatsNumber, double maxLoadCapacity, int maxDistance, int maxSpeed,
int flightRange, int fuselageDiameter) {
super(name, seatsNumber, maxLoadCapacity, maxDistance, maxSpeed, flightRange, fuselageDiameter);
}

public boolean isLoadingAndUnloadingSystem() {
Expand All @@ -26,6 +27,6 @@ public String getCargoAircraftCategory() {

public void setCargoAircraftCategory(String cargoAircraftCategory) {
this.cargoAircraftCategory = cargoAircraftCategory;
}
}

}
15 changes: 8 additions & 7 deletions Airline/src/models/airline/iot/lviv/ua/PassengerAircraft.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
public class PassengerAircraft extends Airplane {
private ComfortLevel comfortLevel;
private boolean wifi;

public PassengerAircraft() {
super();
super();
}

public PassengerAircraft(int seatsNumber, double maxLoadCapacity, int maxDistance, int maxSpeed, int flightRange, int fuselageDiameter) {
super(seatsNumber, maxLoadCapacity, maxDistance, maxSpeed, flightRange, fuselageDiameter);

public PassengerAircraft(String name, int seatsNumber, double maxLoadCapacity, int maxDistance, int maxSpeed, int flightRange,
int fuselageDiameter) {
super(name, seatsNumber, maxLoadCapacity, maxDistance, maxSpeed, flightRange, fuselageDiameter);
}

public ComfortLevel getComfortLevel() {
Expand All @@ -26,6 +27,6 @@ public boolean isWifi() {

public void setWifi(boolean wifi) {
this.wifi = wifi;
}
}

}