- java.lang.Object
-
- com.ibm.jzos.fields.ExternalDecimalAsBigDecimalField
-
- All Implemented Interfaces:
BigDecimalAccessor
,Field
- Direct Known Subclasses:
ZonedEmbeddedLeadingSignedBigDecimalField
,ZonedEmbeddedTrailingSignedBigDecimalField
,ZonedExternalLeadingSignedBigDecimalField
,ZonedExternalTrailingSignedBigDecimalField
public class ExternalDecimalAsBigDecimalField extends java.lang.Object implements BigDecimalAccessor
An external (aka "display", "zoned") decimal field with BigDecimal accessors. A "scale" determines the implied number of digits in the fractional part of the field.- Since:
- 2.1.0
-
-
Constructor Summary
Constructors Constructor Description ExternalDecimalAsBigDecimalField(int offset, int precision, int scale, boolean signed, boolean signTrailing, boolean signExternal, boolean blankWhenZero)
Construct an instance
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 receiverint
getOffset()
Answer the offset of this field into some array of bytesint
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)
-
-
-
Constructor Detail
-
ExternalDecimalAsBigDecimalField
public ExternalDecimalAsBigDecimalField(int offset, int precision, int scale, boolean signed, boolean signTrailing, boolean signExternal, boolean blankWhenZero)
Construct an instance- Parameters:
offset
- position of this fieldprecision
- total number of digits.scale
- number of digits (>=0) in the fractional part of the fieldsigned
- 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.
-
-
Method Detail
-
getByteLength
public int getByteLength()
Description copied from interface:Field
Answer the length of the field described by the receiver- Specified by:
getByteLength
in interfaceField
- Returns:
- int
-
getOffset
public int getOffset()
Description copied from interface:Field
Answer the offset of this field into some array of bytes
-
setOffset
public void setOffset(int offset)
- Specified by:
setOffset
in interfaceField
- See Also:
Field.getOffset()
-
getPrecision
public int getPrecision()
-
isSigned
public boolean isSigned()
-
isSignExternal
public boolean isSignExternal()
-
isSignTrailing
public boolean isSignTrailing()
-
isBlankWhenZero
public boolean isBlankWhenZero()
-
getBigDecimal
public java.math.BigDecimal getBigDecimal(byte[] buffer)
Description copied from interface:BigDecimalAccessor
Answer a BigDecimal from the given byte array buffer, at the offset of this field.- Specified by:
getBigDecimal
in interfaceBigDecimalAccessor
- Parameters:
buffer
- the byte array- Returns:
- BigDecimal
-
getBigDecimal
public java.math.BigDecimal getBigDecimal(byte[] buffer, int bufOffset)
Description copied from interface:BigDecimalAccessor
Answer a BigDecimal from the given byte array buffer, at the bufOffset + offset of this field.- Specified by:
getBigDecimal
in interfaceBigDecimalAccessor
- Parameters:
buffer
- the byte arraybufOffset
- the additional offset into the byte array- Returns:
- BigDecimal
-
putBigDecimal
public void putBigDecimal(java.math.BigDecimal value, byte[] buffer) throws java.lang.IllegalArgumentException
Description copied from interface:BigDecimalAccessor
Put a BigDecimal into the given byte array buffer, at the offset of this field.- Specified by:
putBigDecimal
in interfaceBigDecimalAccessor
- Parameters:
value
- the BigDecimal valuebuffer
- the byte array- Throws:
java.lang.IllegalArgumentException
- if the value is out of range
-
putBigDecimal
public void putBigDecimal(java.math.BigDecimal value, byte[] buffer, int bufOffset) throws java.lang.IllegalArgumentException
Description copied from interface:BigDecimalAccessor
Put a BigDecimal into the given byte array buffer, at the bufOffset + offset of this field.- Specified by:
putBigDecimal
in interfaceBigDecimalAccessor
- Parameters:
value
- the BigDecimal valuebuffer
- the byte arraybufOffset
- the additional offset into the byte array- Throws:
java.lang.IllegalArgumentException
- if the value is out of range
-
equals
public boolean equals(java.math.BigDecimal a, java.math.BigDecimal b)
Compare two BigDecimal instances, possibly null, for equality.- Parameters:
a
- BigDecimalb
- BigDecimal- Returns:
- boolean true if equal, false otherwise
-
getScale
public int getScale()
-
-