Move character encoding logic out to common, try again to improve its handling of...
[zxing.git] / core / src / com / google / zxing / Reader.java
index 8e2690d..47e843b 100644 (file)
@@ -27,7 +27,8 @@ import java.util.Hashtable;
  * See {@link com.google.zxing.MultiFormatReader}, which attempts to determine what barcode
  * format is present within the image as well, and then decodes it accordingly.
  *
- * @author srowen@google.com (Sean Owen), dswitkin@google.com (Daniel Switkin)
+ * @author Sean Owen
+ * @author dswitkin@google.com (Daniel Switkin)
  */
 public interface Reader {
 
@@ -36,21 +37,28 @@ public interface Reader {
    *
    * @param image image of barcode to decode
    * @return String which the barcode encodes
-   * @throws ReaderException if the barcode cannot be located or decoded for any reason
+   * @throws NotFoundException if the barcode cannot be located or decoded for any reason
    */
-  Result decode(MonochromeBitmapSource image) throws ReaderException;
+  Result decode(BinaryBitmap image) throws NotFoundException, ChecksumException, FormatException;
 
   /**
    * Locates and decodes a barcode in some format within an image. This method also accepts
    * hints, each possibly associated to some data, which may help the implementation decode.
    *
    * @param image image of barcode to decode
-   * @param hints passed as a {@link Hashtable} from {@link DecodeHintType} to aribtrary data. The
+   * @param hints passed as a {@link java.util.Hashtable} from {@link com.google.zxing.DecodeHintType}
+   * to arbitrary data. The
    * meaning of the data depends upon the hint type. The implementation may or may not do
    * anything with these hints.
    * @return String which the barcode encodes
-   * @throws ReaderException if the barcode cannot be located or decoded for any reason
+   * @throws NotFoundException if the barcode cannot be located or decoded for any reason
    */
-  Result decode(MonochromeBitmapSource image, Hashtable hints) throws ReaderException;
+  Result decode(BinaryBitmap image, Hashtable hints) throws NotFoundException, ChecksumException, FormatException;
+
+  /**
+   * Resets any internal state the implementation has after a decode, to prepare it
+   * for reuse.
+   */
+  void reset();
 
 }
\ No newline at end of file