/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.comparison;
import org.fudgemsg.FudgeContext;
import com.opengamma.util.ArgumentChecker;
/**
* Base class of comparison operation providers. Contains any additional state to control a
* comparison.
*/
/* package */abstract class AbstractComparator {
/**
* A Fudge context for extracting security information.
*/
private final FudgeContext _fudgeContext;
/**
* Whether to ignore trade attributes when making comparisons.
*/
private boolean _ignoreTradeAttributes;
/**
* Whether to ignore position attributes when making comparisons.
*/
private boolean _ignorePositionAttributes;
// TODO: other parameters that will determine a "change" event from just a mismatch
protected AbstractComparator(final FudgeContext fudgeContext) {
ArgumentChecker.notNull(fudgeContext, "fudgeContext");
_fudgeContext = fudgeContext;
}
public FudgeContext getFudgeContext() {
return _fudgeContext;
}
public void setIgnorePositionAttributes(final boolean ignorePositionAttributes) {
_ignorePositionAttributes = ignorePositionAttributes;
}
public boolean isIgnorePositionAttributes() {
return _ignorePositionAttributes;
}
public void setIgnoreTradeAttributes(final boolean ignoreTradeAttributes) {
_ignoreTradeAttributes = ignoreTradeAttributes;
}
public boolean isIgnoreTradeAttributes() {
return _ignoreTradeAttributes;
}
protected ComparisonContext createContext() {
return new ComparisonContext(this);
}
}