package org.marketcetera.core.position.impl; import org.apache.commons.lang.builder.CompareToBuilder; import org.marketcetera.trade.Future; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * A comparator for {@link org.marketcetera.trade.Future} instruments. * * @author colin@marketcetera.com * @version $Id: FuturePositionKeyComparator.java 16154 2012-07-14 16:34:05Z colin $ * @since 2.1.0 */ @ClassVersion("$Id: FuturePositionKeyComparator.java 16154 2012-07-14 16:34:05Z colin $") public class FuturePositionKeyComparator extends InstrumentPositionKeyComparator<Future> { /** * Creates an instance. */ public FuturePositionKeyComparator() { super(Future.class); } /* (non-Javadoc) * @see org.marketcetera.core.position.impl.InstrumentPositionKeyComparator#getRank() */ @Override public int getRank() { return 300; } /* (non-Javadoc) * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ @Override public int compare(Future inO1, Future inO2) { return new CompareToBuilder().append(inO1.getSymbol(), inO2.getSymbol()) .append(inO1.getExpirationMonth(), inO2.getExpirationMonth()) .append(inO1.getExpirationYear(), inO2.getExpirationYear()).toComparison(); } }