Subversion Repositories DevTools

Rev

Rev 7082 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7079 dpurdie 1
package com.erggroup.buildtool.ripple;
2
 
3
import java.util.Comparator;
4
 
5
 
6
/** Class to contain package build information
7
 *  Information not stored in the package as its dynamic
8
 */
9
class PlannedPackage {
10
    int mBuildLevel = 0;
11
    Package mPkg = null;
12
 
7133 dpurdie 13
    public PlannedPackage (Package pkg)
7079 dpurdie 14
    {
15
        this.mPkg = pkg;
16
    }
17
 
7133 dpurdie 18
    /** Comparator for sorting package collections by mRippleOrder, mBuildTime and mSeqId.
19
     *  mSeqId help UTF reproducibility  
7079 dpurdie 20
     */
21
    static final Comparator<PlannedPackage> BuildOrderComparitor = new Comparator<PlannedPackage>() {
22
 
23
        /**
7133 dpurdie 24
         * Returns -ve: p1 < p2
7079 dpurdie 25
         *           0: p1 = p2
26
         *         +ve: p1 > p2
27
         */
28
        public int compare (PlannedPackage p1, PlannedPackage p2) {
29
            if (p1.mBuildLevel == p2.mBuildLevel)
30
            {
7133 dpurdie 31
                if (p1.mPkg.mBuildTime == p2.mPkg.mBuildTime) {
32
                    return p1.mPkg.mSeqId - p2.mPkg.mSeqId;
33
                }
7079 dpurdie 34
                return p1.mPkg.mBuildTime - p2.mPkg.mBuildTime;
35
            }
36
            return p1.mBuildLevel - p2.mBuildLevel;
37
        }
38
    };
39
 
40
}