com.ibm.jzos.fields
Class ExternalDecimalAsBigIntegerField
- java.lang.Object
-
- com.ibm.jzos.fields.ExternalDecimalAsBigIntegerField
-
- All Implemented Interfaces:
- BigIntegerAccessor, Field
public class ExternalDecimalAsBigIntegerField extends java.lang.Object implements BigIntegerAccessor
An external (aka "zoned" or "display") decimal field up to 31 digits with BigInteger accessors.- Since:
- 2.1.0
-
-
Constructor Summary
Constructors Constructor and Description ExternalDecimalAsBigIntegerField(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 and Description booleanequals(java.math.BigInteger a, java.math.BigInteger b)Compare two BigInteger instances, possibly null, for equality.java.math.BigIntegergetBigInteger(byte[] buffer)Answer a BigInteger value from the given byte array buffer, at the offset of this field.java.math.BigIntegergetBigInteger(byte[] buffer, int bufOffset)Answer a BigInteger value from the given byte array buffer, at the bufOffset + offset of this field.intgetByteLength()Answer the length of the field described by the receiverintgetOffset()Answer the offset of this field into some array of bytesintgetPrecision()intgetScale()booleanisBlankWhenZero()booleanisSigned()booleanisSignExternal()booleanisSignTrailing()voidputBigInteger(java.math.BigInteger value, byte[] buffer)Put a BigInteger value into the given byte array buffer, at the offset of this field.voidputBigInteger(java.math.BigInteger value, byte[] buffer, int bufOffset)Put a BigInteger value into the given byte array buffer, at the bufOffset + offset of this field.voidsetOffset(int offset)
-
-
-
Constructor Detail
-
ExternalDecimalAsBigIntegerField
public ExternalDecimalAsBigIntegerField(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 <= 18.scale- a number implied extra digits <=0 in the whole number portion 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:FieldAnswer the length of the field described by the receiver- Specified by:
getByteLengthin interfaceField- Returns:
- int
-
getOffset
public int getOffset()
Description copied from interface:FieldAnswer the offset of this field into some array of bytes
-
setOffset
public void setOffset(int offset)
- Specified by:
setOffsetin interfaceField- See Also:
Field.getOffset()
-
getPrecision
public int getPrecision()
-
getBigInteger
public java.math.BigInteger getBigInteger(byte[] buffer)
Answer a BigInteger value from the given byte array buffer, at the offset of this field.- Specified by:
getBigIntegerin interfaceBigIntegerAccessor- Parameters:
buffer- the byte array- Returns:
- BigInteger
-
getBigInteger
public java.math.BigInteger getBigInteger(byte[] buffer, int bufOffset)Answer a BigInteger value from the given byte array buffer, at the bufOffset + offset of this field.- Specified by:
getBigIntegerin interfaceBigIntegerAccessor- Parameters:
buffer- the byte arraybufOffset- the additional offset into the byte array- Returns:
- BigInteger
-
putBigInteger
public void putBigInteger(java.math.BigInteger value, byte[] buffer) throws java.lang.IllegalArgumentExceptionPut a BigInteger value into the given byte array buffer, at the offset of this field.- Specified by:
putBigIntegerin interfaceBigIntegerAccessor- Parameters:
value- the BigInteger valuebuffer- the byte array- Throws:
java.lang.IllegalArgumentException- if the value is out of range
-
putBigInteger
public void putBigInteger(java.math.BigInteger value, byte[] buffer, int bufOffset) throws java.lang.IllegalArgumentExceptionPut a BigInteger value into the given byte array buffer, at the bufOffset + offset of this field.- Specified by:
putBigIntegerin interfaceBigIntegerAccessor- Parameters:
value- the BigInteger 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.BigInteger a, java.math.BigInteger b)Compare two BigInteger instances, possibly null, for equality.- Parameters:
a- BigIntegerb- BigInteger- Returns:
- boolean true if equal, false otherwise
-
isBlankWhenZero
public boolean isBlankWhenZero()
-
getScale
public int getScale()
-
isSigned
public boolean isSigned()
-
isSignExternal
public boolean isSignExternal()
-
isSignTrailing
public boolean isSignTrailing()
-
-