Class NumericEditedFormat

All Implemented Interfaces:
NumericEditedDisplay

public final class NumericEditedFormat extends AbstractNumericFormat implements NumericEditedDisplay
Provides a formatter that emulates COBOL's Numeric-Edited PICTURE functionality in Java. Given a pattern containing edit symbols (e.g. "+", "-", "Z", "*", ".", etc.), digit counts (9), and repetition markers (n), this class renders a numeric value by: 1) inserting and positioning edit symbols (signs, currency, decimal points) 2) suppressing leading zeros or replacing them with blanks or alternative symbols 3) enforcing fixed field widths via repetition counts 4) supporting implied decimal points with explicit "." in the pattern This implementation delivers a faithful, high-performance Java equivalent of COBOL's numeric-edited formatting for use in mission-critical data-conversion workflows.
  • Field Details

    • smDecimalFormat

      protected SMDecimalFormat smDecimalFormat
    • blankWhenZero

      protected boolean blankWhenZero
  • Constructor Details

    • NumericEditedFormat

      protected NumericEditedFormat(String picture, boolean signIsTrailing)
    • NumericEditedFormat

      protected NumericEditedFormat(String picture)
  • Method Details

    • setCellSize

      public final void setCellSize(int cellSize)
    • isBlankWhenZero

      public boolean isBlankWhenZero()
      Returns:
      Returns the blankWhenZero.
    • getIntegerSize

      public int getIntegerSize()
    • getNumberOfDigits

      public int getNumberOfDigits()
      Returns the number of integer digits of used for Integer and Decimal parts of a number. For example, given a definition of S9(5)v9(3); the NumberOfDigists is 11.
      Specified by:
      getNumberOfDigits in class Format
      Returns:
    • getStorageCellSize

      public final int getStorageCellSize()
      Description copied from class: Format
      This is the number of characters in field.
      For example, PIC X(10) will have 10 characters
      or PIC 9(16) will have 16 characters
      but PIC 9(16) COMP-3 will have 8 characters
      Specified by:
      getStorageCellSize in class Format
      Returns:
      cellsize
    • getSQLObject

      public final Object getSQLObject(String formattedString)
      Specified by:
      getSQLObject in class Format
    • isCompressed

      public final boolean isCompressed()
      Specified by:
      isCompressed in class Format
    • convertFromStorageToDisplayFormat

      public final String convertFromStorageToDisplayFormat(String formattedString)
      Specified by:
      convertFromStorageToDisplayFormat in class Format
    • convertFromDisplayToStorage

      public final String convertFromDisplayToStorage(double val, boolean[] sizeError)
      format a value according to the PIC definition
      Specified by:
      convertFromDisplayToStorage in class Format
    • convertFromDisplayToStorage

      public String convertFromDisplayToStorage(BigDecimal value, boolean[] sizeError)
      format a value according to the PIC definition
      Specified by:
      convertFromDisplayToStorage in class Format
    • convertFromDisplayToStorage

      public String convertFromDisplayToStorage(BigInteger value, boolean[] sizeError)
      format a value according to the PIC definition
      Specified by:
      convertFromDisplayToStorage in class Format
    • convertFromDisplayToStorage

      public final String convertFromDisplayToStorage(String value, boolean[] sizeError)
      format a value according to the PIC definition
      Specified by:
      convertFromDisplayToStorage in class Format
    • getParts

      protected final String[] getParts(double val)
    • fitToSize

      public static final String fitToSize(String in, int size, boolean left)