Refactorings to allow raw bytes to be passed back with reader result, where applicable
[zxing.git] / core / src / com / google / zxing / Result.java
index 42f1947..b9d0f5a 100644 (file)
@@ -24,20 +24,31 @@ package com.google.zxing;
 public final class Result {
 
   private final String text;
+  private final byte[] rawBytes;
   private final ResultPoint[] resultPoints;
+  private final BarcodeFormat format;
 
-  public Result(String text, ResultPoint[] resultPoints) {
+  public Result(String text, byte[] rawBytes, ResultPoint[] resultPoints, BarcodeFormat format) {
     this.text = text;
+    this.rawBytes = rawBytes;
     this.resultPoints = resultPoints;
+    this.format = format;
   }
 
   /**
-   * @return raw text encoded by the barcode, if any
+   * @return raw text encoded by the barcode, if applicable, otherwise <code>null</code>
    */
   public String getText() {
     return text;
   }
 
+  /**
+   * @return raw bytes encoded by the barcode, if applicable, otherwise <code>null</code>
+   */
+  public byte[] getRawBytes() {
+    return rawBytes;
+  }
+
   /**
    * @return points related to the barcode in the image. These are typically points
    *         identifying finder patterns or the corners of the barcode. The exact meaning is
@@ -47,4 +58,11 @@ public final class Result {
     return resultPoints;
   }
 
+  /**
+   * @return {@link BarcodeFormat} representing the format of the barcode that was recognized and decoded
+   */
+  public BarcodeFormat getBarcodeFormat() {
+    return format;
+  }
+
 }