public class ExternalDecimalAsBigDecimalField extends java.lang.Object implements BigDecimalAccessor
Constructor and Description |
---|
ExternalDecimalAsBigDecimalField(int offset,
int precision,
int scale,
boolean signed,
boolean signTrailing,
boolean signExternal,
boolean blankWhenZero)
Construct an instance
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.math.BigDecimal a,
java.math.BigDecimal b)
Compare two BigDecimal instances, possibly null, for equality.
|
java.math.BigDecimal |
getBigDecimal(byte[] buffer)
Answer a BigDecimal from the given byte array buffer,
at the offset of this field.
|
java.math.BigDecimal |
getBigDecimal(byte[] buffer,
int bufOffset)
Answer a BigDecimal from the given byte array buffer,
at the bufOffset + offset of this field.
|
int |
getByteLength()
Answer the length of the field described by the receiver
|
int |
getOffset()
Answer the offset of this field into some array of bytes
|
int |
getPrecision() |
int |
getScale() |
boolean |
isBlankWhenZero() |
boolean |
isSigned() |
boolean |
isSignExternal() |
boolean |
isSignTrailing() |
void |
putBigDecimal(java.math.BigDecimal value,
byte[] buffer)
Put a BigDecimal into the given byte array buffer,
at the offset of this field.
|
void |
putBigDecimal(java.math.BigDecimal value,
byte[] buffer,
int bufOffset)
Put a BigDecimal into the given byte array buffer,
at the bufOffset + offset of this field.
|
void |
setOffset(int offset) |
public ExternalDecimalAsBigDecimalField(int offset, int precision, int scale, boolean signed, boolean signTrailing, boolean signExternal, boolean blankWhenZero)
offset
- position of this fieldprecision
- total number of digits.scale
- number of digits (>=0) to the right of decimal pointsigned
- if the field has a sign somewheresignTrailing
- true if the sign follows the field, false if it precedes itsignExternal
- true if the sign occupies a separate byte, false if it only occupies a high-order nibble
Note: signTailing and signExternal are ignored if signed is not true.public int getByteLength()
Field
getByteLength
in interface Field
public int getOffset()
Field
public void setOffset(int offset)
setOffset
in interface Field
Field.getOffset()
public int getPrecision()
public boolean isSigned()
public boolean isSignExternal()
public boolean isSignTrailing()
public boolean isBlankWhenZero()
public java.math.BigDecimal getBigDecimal(byte[] buffer)
BigDecimalAccessor
getBigDecimal
in interface BigDecimalAccessor
buffer
- the byte arraypublic java.math.BigDecimal getBigDecimal(byte[] buffer, int bufOffset)
BigDecimalAccessor
getBigDecimal
in interface BigDecimalAccessor
buffer
- the byte arraybufOffset
- the additional offset into the byte arraypublic void putBigDecimal(java.math.BigDecimal value, byte[] buffer) throws java.lang.IllegalArgumentException
BigDecimalAccessor
putBigDecimal
in interface BigDecimalAccessor
value
- the BigDecimal valuebuffer
- the byte arrayjava.lang.IllegalArgumentException
- if the value is out of rangepublic void putBigDecimal(java.math.BigDecimal value, byte[] buffer, int bufOffset) throws java.lang.IllegalArgumentException
BigDecimalAccessor
putBigDecimal
in interface BigDecimalAccessor
value
- the BigDecimal valuebuffer
- the byte arraybufOffset
- the additional offset into the byte arrayjava.lang.IllegalArgumentException
- if the value is out of rangepublic boolean equals(java.math.BigDecimal a, java.math.BigDecimal b)
a
- BigDecimalb
- BigDecimalpublic int getScale()