source: tmcsimulator/trunk/src/tmcsim/utilities/VehicleDetectionStation.java @ 274

Revision 274, 2.1 KB checked in by jdalbey, 7 years ago (diff)

Multi file commit: adding and elaborating on comments and javadoc.

Line 
1
2package tmcsim.utilities;
3
4import java.util.ArrayList;
5import java.util.List;
6import java.util.NoSuchElementException;
7import java.util.Scanner;
8
9/**
10 * Represent a single VDS, "a logical grouping of detectors" at a particular
11 * location in one direction.
12 * @author jdalbey
13 */
14public final class VehicleDetectionStation
15{
16    public final String id;
17    public final String fwy;
18    public final String dir;
19    public final String postmile;
20    public final String latitude;
21    public final String longitude;
22    public final String type;   // type of lanes being monitored
23    public final String street;
24    private String station_address; 
25    private List<String> laneList;
26   
27    public VehicleDetectionStation(Scanner lineScanner)
28    {
29        id = lineScanner.next();
30        fwy = lineScanner.next();
31        dir = lineScanner.next();
32        lineScanner.next(); // skip District
33        lineScanner.next(); // skip Country
34        lineScanner.next(); // skip City
35        String raw_pm = lineScanner.next().trim();
36        // remove any postmile prefix, if it exists.
37        if (Character.isAlphabetic(raw_pm.charAt(0)))
38        {
39            raw_pm = raw_pm.substring(1);
40        }
41        postmile = raw_pm;
42        lineScanner.next(); // skip Abs_PM
43        latitude = lineScanner.next(); 
44        longitude = lineScanner.next(); 
45        lineScanner.next();   // skip length
46        type = lineScanner.next();   // skip type
47        lineScanner.next(); // skip lanes
48        street = lineScanner.next();  // TODO read street name correctly
49        laneList = new ArrayList<String>(); // list of lane descriptors   
50    }   
51    public void setStaAddr(String address)
52    {
53        this.station_address = address;
54    }
55    public String getStaAddr()
56    {
57        return this.station_address;
58    }
59    public void addLane(String laneDescription)
60    {
61        this.laneList.add(laneDescription);
62    }
63    public List getLaneList()
64    {
65        return laneList;
66    }
67   
68    @Override
69    public String toString()
70    {
71        return station_address + " " + fwy + " " + dir + " " + postmile;
72    }
73}
Note: See TracBrowser for help on using the repository browser.