# Class CodeScannerOptions

java.lang.Object
com.codename1.ai.vision.CodeScannerOptions

public final class CodeScannerOptions extends Object

Configuration for `CodeScanner.scan(CodeScannerOptions)`. Every setting has a working default, so an application usually changes only the wording and the accepted symbologies.

    CodeScanner.scan(new CodeScannerOptions()
            .title("Scan the ticket")
            .hint("Hold the QR code inside the frame")
            .formats(BarcodeFormat.QR_CODE, BarcodeFormat.AZTEC))
        .ready(code -> {
            if (code == null) {
                return;              // the user pressed back
            }
            admit(code.getValue());
        })
        .except(error -> Log.e(error));

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CodeScannerOptions()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `CodeScannerOptions`
  `facing(CameraFacing value)`
  Selects which camera the scanner opens.
  `CodeScannerOptions`
  `formats(String... values)`
  Restricts which symbologies are accepted, using the `BarcodeFormat` constants.
  `CameraFacing`
  `getFacing()`
  `String[]`
  `getFormats()`
  `String`
  `getHint()`
  `String`
  `getTitle()`
  `VisionOptions`
  `getVisionOptions()`
  `CodeScannerOptions`
  `hint(String value)`
  Sets the instruction shown below the preview.
  `boolean`
  `isTorchButton()`
  `CodeScannerOptions`
  `title(String value)`
  Sets the scanner form's title.
  `CodeScannerOptions`
  `torchButton(boolean value)`
  Whether to offer a torch toggle.
  `CodeScannerOptions`
  `visionOptions(VisionOptions value)`
  Passes analyzer options through to the underlying `BarcodeScanner`, which is how an iOS build selects `VisionBackends.mlKitBarcodeScanning()` instead of Apple Vision.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### CodeScannerOptions

    public CodeScannerOptions()

- ## Method Details

  - ### title

    public CodeScannerOptions title(String value)
    Sets the scanner form's title.
    Parameters:
      `value` - the title, or `null` for no title
    Returns:
      this options object

  - ### hint

    public CodeScannerOptions hint(String value)
    Sets the instruction shown below the preview.
    Parameters:
      `value` - the instruction, or `null` to show none
    Returns:
      this options object

  - ### formats

    public CodeScannerOptions formats(String... values)

    Restricts which symbologies are accepted, using the `BarcodeFormat` constants. A code in any other format is ignored and scanning continues, which is what an application that expects a specific kind of code wants: a stray product barcode in the frame does not end the scan. The default accepts every format the backend decodes.

    This filters results rather than configuring the detector, so it does not make scanning faster.

    Parameters:
      `values` - accepted format constants; empty or `null` accepts every format
    Returns:
      this options object

  - ### facing

    public CodeScannerOptions facing(CameraFacing value)
    Selects which camera the scanner opens.
    Parameters:
      `value` - the camera to use, or `null` for the back camera
    Returns:
      this options object

  - ### torchButton

    public CodeScannerOptions torchButton(boolean value)
    Whether to offer a torch toggle. The button appears only when the open camera actually has a flash, so leaving this enabled is safe. The default is `true`.
    Parameters:
      `value` - whether the toggle may be shown
    Returns:
      this options object

  - ### visionOptions

    public CodeScannerOptions visionOptions(VisionOptions value)
    Passes analyzer options through to the underlying `BarcodeScanner`, which is how an iOS build selects `VisionBackends.mlKitBarcodeScanning()` instead of Apple Vision.
    Parameters:
      `value` - analyzer configuration, or `null` for the defaults
    Returns:
      this options object

  - ### getTitle

    public String getTitle()
    Returns:
      the scanner form's title, possibly `null`

  - ### getHint

    public String getHint()
    Returns:
      the instruction shown below the preview, possibly `null`

  - ### getFormats

    public String[] getFormats()
    Returns:
      defensive copy of the accepted formats; empty accepts all

  - ### getFacing

    public CameraFacing getFacing()
    Returns:
      the camera the scanner opens

  - ### isTorchButton

    public boolean isTorchButton()
    Returns:
      whether a torch toggle may be shown

  - ### getVisionOptions

    public VisionOptions getVisionOptions()
    Returns:
      the analyzer configuration, or `null` for the defaults