package edu.kufpg.armatus.console;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.common.base.Objects;
import com.google.common.collect.ComparisonChain;
public class ConsoleLineParams implements Comparable<ConsoleLineParams>, Parcelable {
public final int entryNum;
public final int lineNum;
public ConsoleLineParams(final int entryNum, final int lineNum) {
this.entryNum = entryNum;
this.lineNum = lineNum;
}
@Override public boolean equals(final Object o) {
if (o instanceof ConsoleLineParams) {
final ConsoleLineParams clp = (ConsoleLineParams) o;
return entryNum == clp.entryNum
&& lineNum == clp.lineNum;
} else {
return false;
}
}
@Override public int hashCode() {
return Objects.hashCode(entryNum, lineNum);
}
@Override public int compareTo(final ConsoleLineParams another) {
return ComparisonChain.start()
.compare(entryNum, another.entryNum)
.compare(lineNum, another.lineNum)
.result();
}
@Override public int describeContents() {
return 0;
}
@Override public void writeToParcel(final Parcel dest, final int flags) {
dest.writeInt(entryNum);
dest.writeInt(lineNum);
}
public static final Parcelable.Creator<ConsoleLineParams> CREATOR
= new Parcelable.Creator<ConsoleLineParams>() {
@Override public ConsoleLineParams createFromParcel(final Parcel source) {
int entryNum = source.readInt();
int lineNum = source.readInt();
return new ConsoleLineParams(entryNum, lineNum);
}
@Override public ConsoleLineParams[] newArray(final int size) {
return new ConsoleLineParams[size];
}
};
}