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, UPCAReader, 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

Field Summary
 
Fields inherited from class com.google.zxing.oned.AbstractOneDReader
INTEGER_MATH_SHIFT, PATTERN_MATCH_RESULT_SCALE_FACTOR
 
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 AbstractUPCEANReader.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, int[] startGuardRange, Hashtable hints)
          Like AbstractUPCEANReader.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, patternMatchVariance, recordPattern, recordPatternInReverse
 
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 Result decodeRow(int rowNumber,
                        BitArray row,
                        Hashtable hints)
                 throws NotFoundException,
                        ChecksumException,
                        FormatException
Description copied from class: AbstractOneDReader

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:
NotFoundException - if an error occurs or barcode cannot be found
ChecksumException
FormatException
Since:
BlackBerry API 6.0.0

decodeRow

public Result decodeRow(int rowNumber,
                        BitArray row,
                        int[] startGuardRange)
                 throws NotFoundException,
                        ChecksumException,
                        FormatException

Like AbstractUPCEANReader.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:
NotFoundException
ChecksumException
FormatException
Since:
BlackBerry API 6.0.0

decodeRow

public Result decodeRow(int rowNumber,
                        BitArray row,
                        int[] startGuardRange,
                        Hashtable hints)
                 throws NotFoundException,
                        ChecksumException,
                        FormatException

Like AbstractUPCEANReader.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.

Throws:
NotFoundException
ChecksumException
FormatException
Since:
BlackBerry API 7.0.0

decodeMiddle

protected abstract int decodeMiddle(BitArray row,
                                    int[] startRange,
                                    StringBuffer resultString)
                             throws NotFoundException
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:
NotFoundException - if decoding could not complete successfully
Since:
BlackBerry API 6.0.0





Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal