/** Returns the oldest build in the record. */ @Exported @QuickSilver public RunT getFirstBuild() { SortedMap<Integer, ? extends RunT> runs = _getRuns(); if (runs.isEmpty()) return null; return runs.get(runs.lastKey()); }
/** * Gets the latest build #m that satisfies <tt>m<=n</tt>. * * <p>This is useful when you'd like to fetch a build but the exact build might be already gone * (deleted, rotated, etc.) */ public final RunT getNearestOldBuild(int n) { SortedMap<Integer, ? extends RunT> m = _getRuns().tailMap(n); if (m.isEmpty()) return null; return m.get(m.firstKey()); }
/** * Gets the youngest build #m that satisfies <tt>n<=m</tt>. * * <p>This is useful when you'd like to fetch a build but the exact build might be already gone * (deleted, rotated, etc.) */ public final RunT getNearestBuild(int n) { SortedMap<Integer, ? extends RunT> m = _getRuns().headMap(n - 1); // the map should // include n, so n-1 if (m.isEmpty()) return null; return m.get(m.lastKey()); }