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 and 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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### 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 Detail

    - #### 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

Copyright © 2007–2018. All rights reserved.