DecodeHintType (ZXing 3.5.2 API)
Description: declaration: package: com.google.zxing, enum: DecodeHintType

Package com.google.zxing

# Enum DecodeHintType

java.lang.Object
java.lang.Enum<DecodeHintType>
com.google.zxing.DecodeHintType

All Implemented Interfaces:
  `Serializable`, `Comparable<DecodeHintType>`, `java.lang.constant.Constable`

public enum DecodeHintType extends Enum<DecodeHintType>
Encapsulates a type of hint that a caller may pass to a barcode reader to help it more quickly or accurately decode it. It is up to implementations to decide what, if anything, to do with the information that is supplied.

Author:
  Sean Owen, dswitkin@google.com (Daniel Switkin)
See Also:
  - `Reader.decode(BinaryBitmap,java.util.Map)`

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `ALLOWED_EAN_EXTENSIONS`
  Allowed extension lengths for EAN or UPC barcodes.
  `ALLOWED_LENGTHS`
  Allowed lengths of encoded data -- reject anything else.
  `ALSO_INVERTED`
  If true, also tries to decode as inverted image.
  `ASSUME_CODE_39_CHECK_DIGIT`
  Assume Code 39 codes employ a check digit.
  `ASSUME_GS1`
  Assume the barcode is being processed as a GS1 barcode, and modify behavior as needed.
  `CHARACTER_SET`
  Specifies what character encoding to use when decoding, where applicable (type String)
  `NEED_RESULT_POINT_CALLBACK`
  The caller needs to be notified via callback when a possible `ResultPoint` is found.
  `OTHER`
  Unspecified, application-specific hint.
  `POSSIBLE_FORMATS`
  Image is known to be of one of a few possible formats.
  `PURE_BARCODE`
  Image is a pure monochrome image of a barcode.
  `RETURN_CODABAR_START_END`
  If true, return the start and end digits in a Codabar barcode instead of stripping them.
  `TRY_HARDER`
  Spend more time to try to find a barcode; optimize for accuracy, not speed.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Class<?>`
  `getValueType()`
  `static DecodeHintType`
  `valueOf(String name)`
  Returns the enum constant of this type with the specified name.
  `static DecodeHintType[]`
  `values()`
  Returns an array containing the constants of this enum type, in the order they are declared.

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

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### OTHER

    public static final DecodeHintType OTHER
    Unspecified, application-specific hint. Maps to an unspecified `Object`.

  - ### PURE_BARCODE

    public static final DecodeHintType PURE_BARCODE
    Image is a pure monochrome image of a barcode. Doesn't matter what it maps to; use `Boolean.TRUE`.

  - ### POSSIBLE_FORMATS

    public static final DecodeHintType POSSIBLE_FORMATS
    Image is known to be of one of a few possible formats. Maps to a `List` of `BarcodeFormat`s.

  - ### TRY_HARDER

    public static final DecodeHintType TRY_HARDER
    Spend more time to try to find a barcode; optimize for accuracy, not speed. Doesn't matter what it maps to; use `Boolean.TRUE`.

  - ### CHARACTER_SET

    public static final DecodeHintType CHARACTER_SET
    Specifies what character encoding to use when decoding, where applicable (type String)

  - ### ALLOWED_LENGTHS

    public static final DecodeHintType ALLOWED_LENGTHS
    Allowed lengths of encoded data -- reject anything else. Maps to an `int[]`.

  - ### ASSUME_CODE_39_CHECK_DIGIT

    public static final DecodeHintType ASSUME_CODE_39_CHECK_DIGIT
    Assume Code 39 codes employ a check digit. Doesn't matter what it maps to; use `Boolean.TRUE`.

  - ### ASSUME_GS1

    public static final DecodeHintType ASSUME_GS1
    Assume the barcode is being processed as a GS1 barcode, and modify behavior as needed. For example this affects FNC1 handling for Code 128 (aka GS1-128). Doesn't matter what it maps to; use `Boolean.TRUE`.

  - ### RETURN_CODABAR_START_END

    public static final DecodeHintType RETURN_CODABAR_START_END
    If true, return the start and end digits in a Codabar barcode instead of stripping them. They are alpha, whereas the rest are numeric. By default, they are stripped, but this causes them to not be. Doesn't matter what it maps to; use `Boolean.TRUE`.

  - ### NEED_RESULT_POINT_CALLBACK

    public static final DecodeHintType NEED_RESULT_POINT_CALLBACK
    The caller needs to be notified via callback when a possible `ResultPoint` is found. Maps to a `ResultPointCallback`.

  - ### ALLOWED_EAN_EXTENSIONS

    public static final DecodeHintType ALLOWED_EAN_EXTENSIONS
    Allowed extension lengths for EAN or UPC barcodes. Other formats will ignore this. Maps to an `int[]` of the allowed extension lengths, for example [2], [5], or [2, 5]. If it is optional to have an extension, do not set this hint. If this is set, and a UPC or EAN barcode is found but an extension is not, then no result will be returned at all.

  - ### ALSO_INVERTED

    public static final DecodeHintType ALSO_INVERTED
    If true, also tries to decode as inverted image. All configured decoders are simply called a second time with an inverted image. Doesn't matter what it maps to; use `Boolean.TRUE`.

- ## Method Details

  - ### values

    public static DecodeHintType[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.
    Returns:
      an array containing the constants of this enum type, in the order they are declared

  - ### valueOf

    public static DecodeHintType valueOf(String name)
    Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum type has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### getValueType

    public Class<?> getValueType()