Module ibm.jzos

Class BinaryAsBigDecimalField

java.lang.Object
com.ibm.jzos.fields.BinaryAsBigIntegerField
com.ibm.jzos.fields.BinaryAsBigDecimalField
All Implemented Interfaces:
BigDecimalAccessor, BigIntegerAccessor, Field

public class BinaryAsBigDecimalField extends BinaryAsBigIntegerField implements BigDecimalAccessor
A binary field with BigDecimal accessors. A "scale" determines the implied number of digits in the fractional part of the field.

Since:
2.1.0
  • Constructor Details

    • BinaryAsBigDecimalField

      public BinaryAsBigDecimalField(int offset, int length, int scale, boolean signed)
      Construct an instance.

      Parameters:
      offset - int the offset of this field
      length - int the size in bytes of this field
      scale - the number of implied decimal digits in the fractional part of the field
      signed - boolean true if the value is signed, false if unsigned
  • Method Details

    • getBigDecimal

      public BigDecimal getBigDecimal(byte[] buffer)
      Answer a BigDecimal from the given byte array buffer, at the offset of this field.
      Specified by:
      getBigDecimal in interface BigDecimalAccessor
      Parameters:
      buffer - the byte array
      Returns:
      BigDecimal
    • getBigDecimal

      public BigDecimal getBigDecimal(byte[] buffer, int bufOffset)
      Answer a BigDecimal from the given byte array buffer, at the bufOffset + offset of this field.
      Specified by:
      getBigDecimal in interface BigDecimalAccessor
      Parameters:
      buffer - the byte array
      bufOffset - the additional offset into the byte array
      Returns:
      BigDecimal
    • putBigDecimal

      public void putBigDecimal(BigDecimal value, byte[] buffer) throws IllegalArgumentException
      Put a BigDecimal into the given byte array buffer, at the offset of this field.
      Specified by:
      putBigDecimal in interface BigDecimalAccessor
      Parameters:
      value - the BigDecimal value
      buffer - the byte array
      Throws:
      IllegalArgumentException - if the value is out of range
    • putBigDecimal

      public void putBigDecimal(BigDecimal value, byte[] buffer, int bufOffset) throws IllegalArgumentException
      Put a BigDecimal into the given byte array buffer, at the bufOffset + offset of this field.
      Specified by:
      putBigDecimal in interface BigDecimalAccessor
      Parameters:
      value - the BigDecimal value
      buffer - the byte array
      bufOffset - the additional offset into the byte array
      Throws:
      IllegalArgumentException - if the value is out of range
    • equals

      public boolean equals(BigDecimal a, BigDecimal b)
      Compare two BigDecimal instances, possibly null, for equality.
      Parameters:
      a - BigDecimal
      b - BigDecimal
      Returns:
      boolean true if equal, false otherwise
    • getScale

      public int getScale()
      Overrides:
      getScale in class BinaryAsBigIntegerField
      Returns:
      int the scale <= 0