Minimum and maximum times occuring in trips, legs and stops.

This commit is contained in:
Andreas Schildbach 2015-01-07 18:27:19 +01:00
parent 8c1ba6eabb
commit 96c449ccc8
2 changed files with 70 additions and 0 deletions

View file

@ -177,6 +177,22 @@ public final class Stop implements Serializable
return predictedDeparturePosition != null; return predictedDeparturePosition != null;
} }
public Date getMinTime()
{
if (plannedDepartureTime == null || (predictedDepartureTime != null && predictedDepartureTime.before(plannedDepartureTime)))
return predictedDepartureTime;
else
return plannedDepartureTime;
}
public Date getMaxTime()
{
if (plannedArrivalTime == null || (predictedArrivalTime != null && predictedArrivalTime.after(plannedArrivalTime)))
return predictedArrivalTime;
else
return plannedArrivalTime;
}
@Override @Override
public String toString() public String toString()
{ {

View file

@ -110,6 +110,30 @@ public final class Trip implements Serializable
return null; return null;
} }
/** Minimum time occuring in this trip. */
public Date getMinTime()
{
Date minTime = null;
for (final Leg leg : legs)
if (minTime == null || leg.getMinTime().before(minTime))
minTime = leg.getMinTime();
return minTime;
}
/** Maximum time occuring in this trip. */
public Date getMaxTime()
{
Date maxTime = null;
for (final Leg leg : legs)
if (maxTime == null || leg.getMaxTime().after(maxTime))
maxTime = leg.getMaxTime();
return maxTime;
}
public List<Product> products() public List<Product> products()
{ {
final List<Product> products = new LinkedList<Product>(); final List<Product> products = new LinkedList<Product>();
@ -224,6 +248,12 @@ public final class Trip implements Serializable
/** Coarse arrival time. */ /** Coarse arrival time. */
public abstract Date getArrivalTime(); public abstract Date getArrivalTime();
/** Minimum time occuring in this leg. */
public abstract Date getMinTime();
/** Maximum time occuring in this leg. */
public abstract Date getMaxTime();
} }
public final static class Public extends Leg public final static class Public extends Leg
@ -312,6 +342,18 @@ public final class Trip implements Serializable
return arrivalStop.isArrivalPositionPredicted(); return arrivalStop.isArrivalPositionPredicted();
} }
@Override
public Date getMinTime()
{
return departureStop.getMinTime();
}
@Override
public Date getMaxTime()
{
return arrivalStop.getMaxTime();
}
@Override @Override
public String toString() public String toString()
{ {
@ -375,6 +417,18 @@ public final class Trip implements Serializable
return arrivalTime; return arrivalTime;
} }
@Override
public Date getMinTime()
{
return departureTime;
}
@Override
public Date getMaxTime()
{
return arrivalTime;
}
@Override @Override
public String toString() public String toString()
{ {