Code39Reader (ZXing 3.5.2 API)
Description: declaration: package: com.google.zxing.oned, class: Code39Reader

Package com.google.zxing.oned

# Class Code39Reader

java.lang.Object
com.google.zxing.oned.OneDReader
com.google.zxing.oned.Code39Reader

All Implemented Interfaces:
  `Reader`

public final class Code39Reader extends OneDReader

Decodes Code 39 barcodes. Supports "Full ASCII Code 39" if USE_CODE_39_EXTENDED_MODE is set.

Author:
  Sean Owen
See Also:
  - `Code93Reader`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Code39Reader()`
  Creates a reader that assumes all encoded data is data, and does not treat the final character as a check digit.
  `Code39Reader(boolean usingCheckDigit)`
  Creates a reader that can be configured to check the last character as a check digit.
  `Code39Reader(boolean usingCheckDigit, boolean extendedMode)`
  Creates a reader that can be configured to check the last character as a check digit, or optionally attempt to decode "extended Code 39" sequences that are used to encode the full ASCII character set.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Result`
  `decodeRow(int rowNumber, BitArray row, Map<DecodeHintType,?> hints)`
  Attempts to decode a one-dimensional barcode format given a single row of an image.

  ### Methods inherited from class com.google.zxing.oned.OneDReader

  `decode, decode, patternMatchVariance, recordPattern, recordPatternInReverse, reset`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Code39Reader

    public Code39Reader()
    Creates a reader that assumes all encoded data is data, and does not treat the final character as a check digit. It will not decoded "extended Code 39" sequences.

  - ### Code39Reader

    public Code39Reader(boolean usingCheckDigit)
    Creates a reader that can be configured to check the last character as a check digit. It will not decoded "extended Code 39" sequences.
    Parameters:
      `usingCheckDigit` - if true, treat the last data character as a check digit, not data, and verify that the checksum passes.

  - ### Code39Reader

    public Code39Reader(boolean usingCheckDigit, boolean extendedMode)
    Creates a reader that can be configured to check the last character as a check digit, or optionally attempt to decode "extended Code 39" sequences that are used to encode the full ASCII character set.
    Parameters:
      `usingCheckDigit` - if true, treat the last data character as a check digit, not data, and verify that the checksum passes.
      `extendedMode` - if true, will attempt to decode extended Code 39 sequences in the text.

- ## Method Details

  - ### decodeRow

    public Result decodeRow(int rowNumber, BitArray row, Map<DecodeHintType,?> hints) throws NotFoundException, ChecksumException, FormatException
    Description copied from class: `OneDReader`

    Attempts to decode a one-dimensional barcode format given a single row of an image.

    Specified by:
      `decodeRow` in class `OneDReader`
    Parameters:
      `rowNumber` - row number from top of the row
      `row` - the black/white pixel data of the row
      `hints` - decode hints
    Returns:
      `Result` containing encoded string and start/end of barcode
    Throws:
      `NotFoundException` - if no potential barcode is found
      `ChecksumException` - if a potential barcode is found but does not pass its checksum
      `FormatException` - if a potential barcode is found but format is invalid