class Series implements Comparable{ String ID; String Title; int ContStartDate; int ContEndDate; int AccumStartDate; int AccumEndDate; int Items; float Metres; int drawRow; int Span; Series(String _ID, String _Title, int _CStartDate, int _CEndDate, int _AStartDate, int _AEndDate, int _Items, float _Metres, ArrayList ParentList){ ID = _ID; Title = _Title; ContStartDate = min(_CStartDate,_CEndDate); ContEndDate = max(_CStartDate,_CEndDate); AccumStartDate = min(_AStartDate,_AEndDate); if (AccumStartDate < 1760) println("bad accum date: " + AccumStartDate); AccumEndDate = max(_AStartDate,_AEndDate); Items = _Items; Metres = _Metres; drawRow = 0; ParentList.add(this); if (sort_by == 0) { Span = ContEndDate-ContStartDate; } else { Span = AccumEndDate-AccumStartDate; } } public int compareTo(Object anotherSeries) { if (sort_by == 0){ int anotherSeriesStart = ((Series) anotherSeries).ContStartDate; return this.ContStartDate - anotherSeriesStart; } else { int anotherSeriesStart = ((Series) anotherSeries).AccumStartDate; return this.AccumStartDate - anotherSeriesStart; } } }