com.google.zxing.oned
Class AbstractUPCEANReader

java.lang.Object
  extended by com.google.zxing.oned.AbstractOneDReader
      extended by com.google.zxing.oned.AbstractUPCEANReader
All Implemented Interfaces:
OneDReader, UPCEANReader, Reader
Direct Known Subclasses:
EAN13Reader, EAN8Reader, UPCEReader

public abstract class AbstractUPCEANReader
extends AbstractOneDReader
implements UPCEANReader

Encapsulates functionality and implementation that is common to UPC and EAN families of one-dimensional barcodes.

Since:
BlackBerry API 6.0.0

Constructor Summary
protected AbstractUPCEANReader()
           
 
Method Summary
protected abstract  int decodeMiddle(BitArray row, int[] startRange, StringBuffer resultString)
          Subclasses override this to decode the portion of a barcode between the start and end guard patterns.
 Result decodeRow(int rowNumber, BitArray row, int[] startGuardRange)
          Like OneDReader.decodeRow(int, BitArray, java.util.Hashtable), but allows caller to inform method about where the UPC/EAN start pattern is found.
 Result decodeRow(int rowNumber, BitArray row, Hashtable hints)
          Attempts to decode a one-dimensional barcode format given a single row of an image.
 
Methods inherited from class com.google.zxing.oned.AbstractOneDReader
decode, decode
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.google.zxing.Reader
decode, decode
 



Constructor Detail

AbstractUPCEANReader

protected AbstractUPCEANReader()
Since:
BlackBerry API 6.0.0


Method Detail

decodeRow

public final Result decodeRow(int rowNumber,
                              BitArray row,
                              Hashtable hints)
                       throws ReaderException
Description copied from interface: OneDReader

Attempts to decode a one-dimensional barcode format given a single row of an image.

Specified by:
decodeRow in interface OneDReader
Specified by:
decodeRow in class AbstractOneDReader
Parameters:
rowNumber - row number from top of the row
row - the black/white pixel data of the row
hints - decode hints
Returns:
Result containing encoded string and start/end of barcode
Throws:
ReaderException - if an error occurs or barcode cannot be found
Since:
BlackBerry API 6.0.0

decodeRow

public final Result decodeRow(int rowNumber,
                              BitArray row,
                              int[] startGuardRange)
                       throws ReaderException
Description copied from interface: UPCEANReader

Like OneDReader.decodeRow(int, BitArray, java.util.Hashtable), but allows caller to inform method about where the UPC/EAN start pattern is found. This allows this to be computed once and reused across many implementations.

Specified by:
decodeRow in interface UPCEANReader
Throws:
ReaderException
Since:
BlackBerry API 6.0.0

decodeMiddle

protected abstract int decodeMiddle(BitArray row,
                                    int[] startRange,
                                    StringBuffer resultString)
                             throws ReaderException
Subclasses override this to decode the portion of a barcode between the start and end guard patterns.

Parameters:
row - row of black/white values to search
startRange - start/end offset of start guard pattern
resultString - StringBuffer to append decoded chars to
Returns:
horizontal offset of first pixel after the "middle" that was decoded
Throws:
ReaderException - if decoding could not complete successfully
Since:
BlackBerry API 6.0.0





Copyright 1999-2010 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark of Sun Microsystems, Inc.