package airportsimulation.airplane; import java.util.LinkedList; import java.util.List; import java.util.Queue; import javax.json.JsonObject; /** * * @author tmate */ public class JsonAirplaneBuilder implements AirplaneBuilder { private final Queue<Airplane> airplanes; private boolean hasNext; public JsonAirplaneBuilder(List<JsonObject> airplanesData) { airplanes = new LinkedList<>(); for (JsonObject airplaneData : airplanesData) { String id = airplaneData.getJsonObject("Airplane").getString("id"); String sActFuelCap = airplaneData.getJsonObject("Airplane").getString("actFuelLevel"); Double fuelLevel = Double.parseDouble(sActFuelCap); airplanes.add(new Airplane(id, fuelLevel)); } if (!airplanes.isEmpty()) { hasNext = true; } } @Override public boolean hasNext() { return hasNext; } @Override public Airplane getNext() { if (hasNext == false) { return null; } hasNext = false; return airplanes.remove(); } }