quickfix.DecimalField Maven / Gradle / Ivy
/*******************************************************************************
* Copyright (c) quickfixengine.org All rights reserved.
*
* This file is part of the QuickFIX FIX Engine
*
* This file may be distributed under the terms of the quickfixengine.org
* license as defined by quickfixengine.org and appearing in the file
* LICENSE included in the packaging of this file.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
* THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE.
*
* See http://www.quickfixengine.org/LICENSE for licensing information.
*
* Contact [email protected] if any conditions of this licensing
* are not clear to you.
******************************************************************************/
package quickfix;
import java.math.BigDecimal;
/**
* A double-values message field.
*/
public class DecimalField extends Field {
private int padding = 0;
public DecimalField(int field) {
super(field, BigDecimal.ZERO);
}
public DecimalField(int field, BigDecimal data) {
super(field, data);
}
public DecimalField(int field, double data) {
super(field, BigDecimal.valueOf(data));
}
public DecimalField(int field, BigDecimal data, int padding) {
super(field, data);
this.padding = padding;
}
public void setValue(BigDecimal value) {
setObject(value);
}
public void setValue(double value) {
setObject(BigDecimal.valueOf(value));
}
public BigDecimal getValue() {
return getObject();
}
public int getPadding() {
return padding;
}
public boolean valueEquals(BigDecimal value) {
return getValue().compareTo(value) == 0;
}
public boolean valueEquals(double value) {
return getValue().compareTo(new BigDecimal(value)) == 0;
}
}