/************************************************************************************ * Copyright (C) 2008 by Politehnica University of Bucharest and Rutgers University * All rights reserved. * Refer to LICENSE for terms and conditions of use. ***********************************************************************************/ package vnsim.applications.adaptiveTL; import java.util.Comparator; import vnsim.vehicular.simulator.intersections.DirectedRoadSegment; public class RecordComparator implements Comparator{ DirectedRoadSegment segment; public RecordComparator(DirectedRoadSegment segment){ this.segment = segment; } public int compare(IntersectionCarRecord car0, IntersectionCarRecord car1) { if (car0.car.getVehicleId() == car1.car.getVehicleId()) return 0; if (car0.car.getRoadIdx() != segment.roadIndex) return 0; if (car1.car.getRoadIdx() != segment.roadIndex) return 0; if (car1.car.getPointIdx() == car0.car.getPointIdx()) return 1; if (segment.direction == (car0.car.getPointIdx() < car1.car.getPointIdx())) return -1; else return 1; } }