Java 类com.google.zxing.pdf417.PDF417Reader 实例源码

项目:OkapiBarcode    文件:SymbolTest.java   
/**
 * Returns a ZXing reader that can read the specified symbol.
 *
 * @param symbol the symbol to be read
 * @return a ZXing reader that can read the specified symbol
 */
private static Reader findReader(Symbol symbol) {

    if (symbol instanceof Code128 || symbol instanceof UspsPackage) {
        return new Code128Reader();
    } else if (symbol instanceof Code93) {
        return new Code93Reader();
    } else if (symbol instanceof Code3Of9) {
        return new Code39Reader();
    } else if (symbol instanceof Codabar) {
        return new CodaBarReader();
    } else if (symbol instanceof AztecCode) {
        return new AztecReader();
    } else if (symbol instanceof QrCode) {
        return new QRCodeReader();
    } else if (symbol instanceof Ean) {
        Ean ean = (Ean) symbol;
        if (ean.getMode() == Ean.Mode.EAN8) {
            return new EAN8Reader();
        } else {
            return new EAN13Reader();
        }
    } else if (symbol instanceof Pdf417) {
        Pdf417 pdf417 = (Pdf417) symbol;
        if (pdf417.getMode() != Pdf417.Mode.MICRO) {
            return new PDF417Reader();
        }
    } else if (symbol instanceof Upc) {
        Upc upc = (Upc) symbol;
        if (upc.getMode() == Upc.Mode.UPCA) {
            return new UPCAReader();
        } else {
            return new UPCEReader();
        }
    }

    // no corresponding ZXing reader exists, or it behaves badly so we don't use it for testing
    return null;
}
项目:weex-3d-map    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:PortraitZXing    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:PortraitZXing    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:ZXing-Orient    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:event-app    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:weex-analyzer-android    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:weex-3d-map    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:Weex-TestDemo    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:QrScan_Demo    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:weex    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:sres-app    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:TrueTone    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType, ?> hints) {
    this.hints = hints;

    boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
    @SuppressWarnings("unchecked")
    Collection<BarcodeFormat> formats =
            hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
    Collection<Reader> readers = new ArrayList<>();
    if (formats != null) {
        boolean addOneDReader =
                formats.contains(BarcodeFormat.UPC_A) ||
                        formats.contains(BarcodeFormat.UPC_E) ||
                        formats.contains(BarcodeFormat.EAN_13) ||
                        formats.contains(BarcodeFormat.EAN_8) ||
                        formats.contains(BarcodeFormat.CODABAR) ||
                        formats.contains(BarcodeFormat.CODE_39) ||
                        formats.contains(BarcodeFormat.CODE_93) ||
                        formats.contains(BarcodeFormat.CODE_128) ||
                        formats.contains(BarcodeFormat.ITF) ||
                        formats.contains(BarcodeFormat.RSS_14) ||
                        formats.contains(BarcodeFormat.RSS_EXPANDED);
        // Put 1D readers upfront in "normal" mode
        if (addOneDReader && !tryHarder) {
            readers.add(new MultiFormatOneDReader(hints));
        }
        if (formats.contains(BarcodeFormat.QR_CODE)) {
            readers.add(new QRCodeReader());
        }
        if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
            readers.add(new DataMatrixReader());
        }
        if (formats.contains(BarcodeFormat.AZTEC)) {
            readers.add(new AztecReader());
        }
        if (formats.contains(BarcodeFormat.PDF_417)) {
            readers.add(new PDF417Reader());
        }
        if (formats.contains(BarcodeFormat.MAXICODE)) {
            readers.add(new MaxiCodeReader());
        }
        // At end in "try harder" mode
        if (addOneDReader && tryHarder) {
            readers.add(new MultiFormatOneDReader(hints));
        }
    }
    if (readers.isEmpty()) {
        if (!tryHarder) {
            readers.add(new MultiFormatOneDReader(hints));
        }

        readers.add(new QRCodeReader());
        readers.add(new DataMatrixReader());
        readers.add(new AztecReader());
        readers.add(new PDF417Reader());
        readers.add(new MaxiCodeReader());

        if (tryHarder) {
            readers.add(new MultiFormatOneDReader(hints));
        }
    }
    this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:Discounty    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType, ?> hints) {
    this.hints = hints;

    boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
    @SuppressWarnings("unchecked")
    Collection<BarcodeFormat> formats =
            hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
    Collection<Reader> readers = new ArrayList<Reader>();
    if (formats != null) {
        boolean addOneDReader =
                formats.contains(BarcodeFormat.UPC_A) ||
                        formats.contains(BarcodeFormat.UPC_E) ||
                        formats.contains(BarcodeFormat.EAN_13) ||
                        formats.contains(BarcodeFormat.EAN_8) ||
                        formats.contains(BarcodeFormat.CODABAR) ||
                        formats.contains(BarcodeFormat.CODE_39) ||
                        formats.contains(BarcodeFormat.CODE_93) ||
                        formats.contains(BarcodeFormat.CODE_128) ||
                        formats.contains(BarcodeFormat.ITF) ||
                        formats.contains(BarcodeFormat.RSS_14) ||
                        formats.contains(BarcodeFormat.RSS_EXPANDED);
        // Put 1D readers upfront in "normal" mode
        if (addOneDReader && !tryHarder) {
            readers.add(new MultiFormatOneDReader(hints));
        }
        if (formats.contains(BarcodeFormat.QR_CODE)) {
            readers.add(new QRCodeReader());
        }
        if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
            readers.add(new DataMatrixReader());
        }
        if (formats.contains(BarcodeFormat.AZTEC)) {
            readers.add(new AztecReader());
        }
        if (formats.contains(BarcodeFormat.PDF_417)) {
            readers.add(new PDF417Reader());
        }
        if (formats.contains(BarcodeFormat.MAXICODE)) {
            readers.add(new MaxiCodeReader());
        }
        // At end in "try harder" mode
        if (addOneDReader && tryHarder) {
            readers.add(new MultiFormatOneDReader(hints));
        }
    }
    if (readers.isEmpty()) {
        if (!tryHarder) {
            readers.add(new MultiFormatOneDReader(hints));
        }

        readers.add(new QRCodeReader());
        readers.add(new DataMatrixReader());
        readers.add(new AztecReader());
        readers.add(new PDF417Reader());
        readers.add(new MaxiCodeReader());

        if (tryHarder) {
            readers.add(new MultiFormatOneDReader(hints));
        }
    }
    this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:bushido-android-app    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:reacteu-app    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:Android-Birdcopy-Application    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:CordovaDemo    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:ng-cordova-demo    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:zxing-bsplus    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:ngCordova-demo    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:CordovaW8BarcodeDemo    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:cordova-template    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:oxPush    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:hive-ios    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:dev    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:ZxingCore    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Map<DecodeHintType,?> hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  @SuppressWarnings("unchecked")
  Collection<BarcodeFormat> formats =
      hints == null ? null : (Collection<BarcodeFormat>) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  Collection<Reader> readers = new ArrayList<Reader>();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
        formats.contains(BarcodeFormat.UPC_E) ||
        formats.contains(BarcodeFormat.EAN_13) ||
        formats.contains(BarcodeFormat.EAN_8) ||
        formats.contains(BarcodeFormat.CODABAR) ||
        formats.contains(BarcodeFormat.CODE_39) ||
        formats.contains(BarcodeFormat.CODE_93) ||
        formats.contains(BarcodeFormat.CODE_128) ||
        formats.contains(BarcodeFormat.ITF) ||
        formats.contains(BarcodeFormat.RSS_14) ||
        formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.add(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.add(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.add(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.add(new PDF417Reader());
    }
    if (formats.contains(BarcodeFormat.MAXICODE)) {
       readers.add(new MaxiCodeReader());
    }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }

    readers.add(new QRCodeReader());
    readers.add(new DataMatrixReader());
    readers.add(new AztecReader());
    readers.add(new PDF417Reader());
    readers.add(new MaxiCodeReader());

    if (tryHarder) {
      readers.add(new MultiFormatOneDReader(hints));
    }
  }
  this.readers = readers.toArray(new Reader[readers.size()]);
}
项目:BibSearch    文件:MultiFormatReader.java   
/**
 * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls
 * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This
 * is important for performance in continuous scan clients.
 *
 * @param hints The set of hints to use for subsequent calls to decode(image)
 */
public void setHints(Hashtable hints) {
  this.hints = hints;

  boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);
  Vector formats = hints == null ? null : (Vector) hints.get(DecodeHintType.POSSIBLE_FORMATS);
  readers = new Vector();
  if (formats != null) {
    boolean addOneDReader =
        formats.contains(BarcodeFormat.UPC_A) ||
            formats.contains(BarcodeFormat.UPC_E) ||
            formats.contains(BarcodeFormat.EAN_13) ||
            formats.contains(BarcodeFormat.EAN_8) ||
            //formats.contains(BarcodeFormat.CODABAR) ||
            formats.contains(BarcodeFormat.CODE_39) ||
            formats.contains(BarcodeFormat.CODE_93) ||
            formats.contains(BarcodeFormat.CODE_128) ||
            formats.contains(BarcodeFormat.ITF) ||
            formats.contains(BarcodeFormat.RSS_14) ||
            formats.contains(BarcodeFormat.RSS_EXPANDED);
    // Put 1D readers upfront in "normal" mode
    if (addOneDReader && !tryHarder) {
      readers.addElement(new MultiFormatOneDReader(hints));
    }
    if (formats.contains(BarcodeFormat.QR_CODE)) {
      readers.addElement(new QRCodeReader());
    }
    if (formats.contains(BarcodeFormat.DATA_MATRIX)) {
      readers.addElement(new DataMatrixReader());
    }
    if (formats.contains(BarcodeFormat.AZTEC)) {
      readers.addElement(new AztecReader());
    }
    if (formats.contains(BarcodeFormat.PDF_417)) {
       readers.addElement(new PDF417Reader());
     }
    // At end in "try harder" mode
    if (addOneDReader && tryHarder) {
      readers.addElement(new MultiFormatOneDReader(hints));
    }
  }
  if (readers.isEmpty()) {
    if (!tryHarder) {
      readers.addElement(new MultiFormatOneDReader(hints));
    }

    readers.addElement(new QRCodeReader());
    readers.addElement(new DataMatrixReader());
    readers.addElement(new AztecReader());
    readers.addElement(new PDF417Reader());

    if (tryHarder) {
      readers.addElement(new MultiFormatOneDReader(hints));
    }
  }
}