Package com.google.zxing.qrcode.decoder
Class BitMatrixParser
- java.lang.Object
-
- com.google.zxing.qrcode.decoder.BitMatrixParser
-
final class BitMatrixParser extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private BitMatrixbitMatrixprivate booleanmirrorprivate FormatInformationparsedFormatInfoprivate VersionparsedVersion
-
Constructor Summary
Constructors Constructor Description BitMatrixParser(BitMatrix bitMatrix)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private intcopyBit(int i, int j, int versionBits)(package private) voidmirror()Mirror the bit matrix in order to attempt a second reading.(package private) byte[]readCodewords()Reads the bits in theBitMatrixrepresenting the finder pattern in the correct order in order to reconstruct the codewords bytes contained within the QR Code.(package private) FormatInformationreadFormatInformation()Reads format information from one of its two locations within the QR Code.(package private) VersionreadVersion()Reads version information from one of its two locations within the QR Code.(package private) voidremask()Revert the mask removal done while reading the code words.(package private) voidsetMirror(boolean mirror)Prepare the parser for a mirrored operation.
-
-
-
Field Detail
-
bitMatrix
private final BitMatrix bitMatrix
-
parsedVersion
private Version parsedVersion
-
parsedFormatInfo
private FormatInformation parsedFormatInfo
-
mirror
private boolean mirror
-
-
Constructor Detail
-
BitMatrixParser
BitMatrixParser(BitMatrix bitMatrix) throws FormatException
- Parameters:
bitMatrix-BitMatrixto parse- Throws:
FormatException- if dimension is not >= 21 and 1 mod 4
-
-
Method Detail
-
readFormatInformation
FormatInformation readFormatInformation() throws FormatException
Reads format information from one of its two locations within the QR Code.
- Returns:
FormatInformationencapsulating the QR Code's format info- Throws:
FormatException- if both format information locations cannot be parsed as the valid encoding of format information
-
readVersion
Version readVersion() throws FormatException
Reads version information from one of its two locations within the QR Code.
- Returns:
Versionencapsulating the QR Code's version- Throws:
FormatException- if both version information locations cannot be parsed as the valid encoding of version information
-
copyBit
private int copyBit(int i, int j, int versionBits)
-
readCodewords
byte[] readCodewords() throws FormatExceptionReads the bits in the
BitMatrixrepresenting the finder pattern in the correct order in order to reconstruct the codewords bytes contained within the QR Code.- Returns:
- bytes encoded within the QR Code
- Throws:
FormatException- if the exact number of bytes expected is not read
-
remask
void remask()
Revert the mask removal done while reading the code words. The bit matrix should revert to its original state.
-
setMirror
void setMirror(boolean mirror)
Prepare the parser for a mirrored operation. This flag has effect only on thereadFormatInformation()and thereadVersion(). Before proceeding withreadCodewords()themirror()method should be called.- Parameters:
mirror- Whether to read version and format information mirrored.
-
mirror
void mirror()
Mirror the bit matrix in order to attempt a second reading.
-
-