/*
* Copyright (C) 2011.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 or
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*/
package uk.me.parabola.imgfmt.app.srt;
/**
* Sort key when you are soring on a simple integer.
*
* @author Steve Ratcliffe
*/
public class IntegerSortKey<T> implements SortKey<T> {
private final T object;
private final int val;
private final int second;
public IntegerSortKey(T object, int val, int second) {
this.object = object;
this.val = val;
this.second = second;
}
/**
* Get the object associated with this sort key. This will usually be the real object being sorted.
*/
public T getObject() {
return object;
}
public int compareTo(SortKey<T> o) {
IntegerSortKey<T> other = (IntegerSortKey<T>) o;
if (val == other.val) {
if (second == other.second)
return 0;
else if (second < other.second)
return -1;
else
return 1;
}
else if (val < other.val)
return -1;
else
return 1;
}
}