/**
* Enumerates barcode formats known to this package.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class BarcodeFormat {
/**
* <p>Enumerates different methods of sampling an imagine to estimate a black point.</p>
*
- * @author srowen@google.com (Sean Owen), dswitkin@google.com (Daniel Switkin)
+ * @author Sean Owen
+ * @author dswitkin@google.com (Daniel Switkin)
*/
public final class BlackPointEstimationMethod {
* more quickly or accurately decode it. It is up to implementations to decide what,
* if anything, to do with the information that is supplied.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
* @author dswitkin@google.com (Daniel Switkin)
* @see Reader#decode(MonochromeBitmapSource, java.util.Hashtable)
*/
* <p>Encapsulates a generic black-and-white bitmap -- a collection of pixels in two dimensions.
* This unifies many possible representations, like AWT's <code>BufferedImage</code>.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
* @author dswitkin@google.com (Daniel Switkin)
*/
public interface MonochromeBitmapSource {
* 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 {
* This includes, but is not limited to, failing checksums / error correction algorithms, being
* unable to locate finder timing patterns, and so on.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
// TODO: Currently we throw up to 400 ReaderExceptions while scanning a single 240x240 image before
/**
* <p>Encapsulates the result of decoding a barcode within an image.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class Result {
* Represents some type of metadata about the result of the decoding that the decoder
* wishes to communicate back to the caller.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class ResultMetadataType {
* <p>Encapsulates a point of interest in an image containing a barcode. Typically, this
* would be the location of a finder pattern or the corner of the barcode, for example.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public interface ResultPoint {
* <p>Thanks to Jeff Griffin for proposing rewrite of these classes that relies less
* on exception-based mechanisms during parsing.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
abstract class AbstractDoCoMoResultParser extends ResultParser {
* http://www.au.kddi.com/ezfactory/tec/two_dimensions/index.html</a>.
* (Thanks to Yuzo for translating!)
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class AddressBookAUResultParser extends ResultParser {
*
* http://www.mobicode.org.tw/files/OMIA%20Mobile%20Bar%20Code%20Standard%20v3.2.1.doc
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class AddressBookDoCoMoResultParser extends AbstractDoCoMoResultParser {
package com.google.zxing.client.result;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class AddressBookParsedResult extends ParsedResult {
* largely reverse-engineered from examples observed in the wild -- still
* looking for a definitive reference.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class BizcardResultParser extends AbstractDoCoMoResultParser {
import com.google.zxing.Result;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class BookmarkDoCoMoResultParser extends AbstractDoCoMoResultParser {
package com.google.zxing.client.result;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class CalendarParsedResult extends ParsedResult {
package com.google.zxing.client.result;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class EmailAddressParsedResult extends ParsedResult {
* Represents a result that encodes an e-mail address, either as a plain address
* like "joe@example.org" or a mailto: URL like "mailto:joe@example.org".
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class EmailAddressResultParser extends ResultParser {
*
* Supported keys: TO, SUB, BODY
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class EmailDoCoMoResultParser extends AbstractDoCoMoResultParser {
package com.google.zxing.client.result;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class GeoParsedResult extends ParsedResult {
* <a href="http://tools.ietf.org/html/draft-mayrhofer-geo-uri-00">
* http://tools.ietf.org/html/draft-mayrhofer-geo-uri-00</a>.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class GeoResultParser extends ResultParser {
* <p>Thanks to Jeff Griffin for proposing rewrite of these classes that relies less
* on exception-based mechanisms during parsing.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public abstract class ParsedResult {
* Represents the type of data encoded by a barcode -- from plain text, to a
* URI, to an e-mail address, etc.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class ParsedResultType {
* <p>Thanks to Jeff Griffin for proposing rewrite of these classes that relies less
* on exception-based mechanisms during parsing.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public abstract class ResultParser {
* "MMSTO:", and treats them all the same way, and effectively converts them to an "sms:" URI
* for purposes of forwarding to the platform.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class SMSMMSResultParser extends ResultParser {
package com.google.zxing.client.result;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class SMSParsedResult extends ParsedResult {
package com.google.zxing.client.result;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class TelParsedResult extends ParsedResult {
/**
* Parses a "tel:" URI result, which specifies a phone number.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class TelResultParser extends ResultParser {
* A simple result type encapsulating a string that has no further
* interpretation.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class TextParsedResult extends ParsedResult {
package com.google.zxing.client.result;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class URIParsedResult extends ParsedResult {
/**
* Tries to parse results that are a URI of some kind.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class URIResultParser extends ResultParser {
* This seems to be used sometimes, but I am not able to find documentation
* on its origin or official format?
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class URLTOResultParser {
* Parses contact information formatted according to the VCard (2.1) format. This is not a complete
* implementation but should parse information as commonly encoded in 2D barcodes.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class VCardResultParser extends ResultParser {
* Partially implements the iCalendar format's "VEVENT" format for specifying a
* calendar event. See RFC 2445. This supports SUMMARY, DTSTART and DTEND fields.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class VEventResultParser extends ResultParser {
* <p>Superclass for classes encapsulating reader results encoded according
* to the MobileTag Reader International Specification.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
abstract class AbstractMobileTagResultParser extends ResultParser {
* useful in 2D barcode formats. This generally includes 1-record messages, no chunking,
* "short record" syntax, no ID field.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
abstract class AbstractNDEFResultParser extends ResultParser {
* <p>Represents a "MMS" result encoded according to section 4.7 of the
* MobileTag Reader International Specification.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class MobileTagMMSResultParser extends AbstractMobileTagResultParser {
import com.google.zxing.client.result.ParsedResultType;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class MobileTagRichWebParsedResult extends ParsedResult {
* <p>Represents a "rich web" result encoded according to section 5 of the
* MobileTag Reader International Specification.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class MobileTagRichWebResultParser extends AbstractMobileTagResultParser {
* <p>Represents a "SMS" result encoded according to section 4.6 of the
* MobileTag Reader International Specification.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class MobileTagSMSResultParser extends AbstractMobileTagResultParser {
* <p>Represents a "simple calendar" result encoded according to section 4.9 of the
* MobileTag Reader International Specification.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class MobileTagSimpleCalendarResultParser extends AbstractMobileTagResultParser {
* <p>Represents a "simple contact" result encoded according to section 4.8 of the
* MobileTag Reader International Specification.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class MobileTagSimpleContactResultParser extends AbstractMobileTagResultParser {
* <p>Represents a "simple web" result encoded according to section 4.11 of the
* MobileTag Reader International Specification.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class MobileTagSimpleWebResultParser extends AbstractMobileTagResultParser {
* <p>Represents a "TEL" result encoded according to section 4.4 of the
* MobileTag Reader International Specification.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class MobileTagTelResultParser extends AbstractMobileTagResultParser {
* of records -- namely, non-chunked records, where ID length is omitted, and only
* "short records".</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class NDEFRecord {
import com.google.zxing.client.result.ParsedResultType;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class NDEFSmartPosterParsedResult extends ParsedResult {
* of these records are infeasibly large for barcodes. Size and type records
* are not supported. Multiple titles are not supported.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class NDEFSmartPosterResultParser extends AbstractNDEFResultParser {
* Recognizes an NDEF message that encodes text according to the
* "Text Record Type Definition" specification.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class NDEFTextResultParser extends AbstractNDEFResultParser {
* Recognizes an NDEF message that encodes a URI according to the
* "URI Record Type Definition" specification.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class NDEFURIResultParser extends AbstractNDEFResultParser {
/**\r
* <p>A simple, fast array of bits, represented compactly by an array of ints internally.</p>\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
public final class BitArray {\r
\r
* <p>This class is a convenient wrapper around this representation, but also exposes the internal\r
* array for efficient access and manipulation.</p>\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
public final class BitMatrix {\r
\r
*\r
* <p>This class is not thread-safe.</p>\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
public final class BitSource {\r
\r
* <a href="http://webdiis.unizar.es/~neira/12082/thresholding.pdf">http://webdiis.unizar.es/~neira/12082/thresholding.pdf</a>.\r
* </p>\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
* @author dswitkin@google.com (Daniel Switkin)\r
*/\r
public final class BlackPointEstimator {\r
* Encapsulates a Character Set ECI, according to "Extended Channel Interpretations" 5.3.1.1
* of ISO 18004.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class CharacterSetECI extends ECI {
* <p>This is basically a substitute for <code>java.util.Collections</code>, which is not
* present in MIDP 2.0 / CLDC 1.1.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class Collections {
* applies to 2D barcode formats. For now it contains the raw bytes obtained,
* as well as a String interpretation of those bytes, if applicable.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class DecoderResult {
import com.google.zxing.ReaderException;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class DefaultGridSampler extends GridSampler {
* matrix of black/white pixels corresponding to the barcode, and possibly points of interest
* in the image, like the location of finder patterns or corners of the barcode in the image.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class DetectorResult {
* Superclass of classes encapsulating types ECIs, according to "Extended Channel Interpretations" 5.3
* of ISO 18004.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public abstract class ECI {
* The implementation used can be controlled by calling {@link #setGridSampler(GridSampler)}
* with an instance of a class which implements this interface.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public abstract class GridSampler {
* points, it will compute the transformation implied between them. The code is based directly upon section\r
* 3.4.2 of George Wolberg's "Digital Image Warping"; see pages 54-56.</p>\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
final class PerspectiveTransform {\r
\r
* for convenience and speed (but at the cost of memory).
* Only the bottom 8 bits are really used.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class GF256 {
* <p>Much credit is due to William Rucklidge since portions of this code are an indirect
* port of his C++ Reed-Solomon implementation.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class GF256Poly {
* <p>Much credit is due to William Rucklidge since portions of this code are an indirect
* port of his C++ Reed-Solomon implementation.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
* @author William Rucklidge
* @author sanfordsquires
*/
/**
* <p>Implements Reed-Solomon enbcoding, as the name implies.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
* @author William Rucklidge
*/
public final class ReedSolomonEncoder {
* <p>Thrown when an exception occurs during Reed-Solomon decoding, such as when
* there are too many errors to correct.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class ReedSolomonException extends Exception {
* <p>See ISO 16022:2006, 5.2.1 - 5.2.9.2</p>
*
* @author bbrown@google.com (Brian Brown)
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class DecodedBitStreamParser {
* <p>Encapsulates logic that can detect a Data Matrix Code in an image, even if the Data Matrix Code
* is rotated or skewed, or partially obscured.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class Detector {
* of one-dimensional barcodes.</p>
*
* @author dswitkin@google.com (Daniel Switkin)
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public abstract class AbstractOneDReader implements OneDReader {
* of one-dimensional barcodes.</p>
*
* @author dswitkin@google.com (Daniel Switkin)
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
* @author alasdair@google.com (Alasdair Mackintosh)
*/
public abstract class AbstractUPCEANReader extends AbstractOneDReader implements UPCEANReader {
/**
* <p>Decodes Code 128 barcodes.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class Code128Reader extends AbstractOneDReader {
/**
* <p>Decodes Code 39 barcodes. This does not support "Full ASCII Code 39" yet.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class Code39Reader extends AbstractOneDReader {
* <p>Implements decoding of the EAN-13 format.</p>
*
* @author dswitkin@google.com (Daniel Switkin)
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
* @author alasdair@google.com (Alasdair Mackintosh)
*/
public final class EAN13Reader extends AbstractUPCEANReader {
/**
* <p>Implements decoding of the EAN-8 format.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class EAN8Reader extends AbstractUPCEANReader {
/**
* @author dswitkin@google.com (Daniel Switkin)
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class MultiFormatOneDReader extends AbstractOneDReader {
* read all such formats, it is most efficent to use this implementation rather than invoke
* individual readers.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class MultiFormatUPCEANReader extends AbstractOneDReader {
* <p>{@link Reader}s which also implement this interface read one-dimensional barcode
* formats, and expose additional functionality that is specific to this type of barcode.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public interface OneDReader extends Reader {
* <p>Implements decoding of the UPC-A format.</p>
*
* @author dswitkin@google.com (Daniel Switkin)
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class UPCAReader implements UPCEANReader {
* <p>This interfaces captures addtional functionality that readers of
* UPC/EAN family of barcodes should expose.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public interface UPCEANReader extends OneDReader {
* <p><a href="http://www.barcodeisland.com/upce.phtml">This</a> is a great reference for
* UPC-E information.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class UPCEReader extends AbstractUPCEANReader {
/**
* This implementation can detect and decode QR Codes in an image.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class QRCodeReader implements Reader {
import com.google.zxing.common.BitMatrix;\r
\r
/**\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
final class BitMatrixParser {\r
\r
* multiple blocks, each of which is a unit of data and error-correction codewords. Each\r
* is represented by an instance of this class.</p>\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
final class DataBlock {\r
\r
* <p>Note that the diagram in section 6.8.1 is misleading since it indicates that i is column position\r
* and j is row position. In fact, as the text says, i is row position and j is column position.</p>\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
abstract class DataMask {\r
\r
*
* <p>See ISO 18004:2006, 6.4.3 - 6.4.7</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class DecodedBitStreamParser {
* <p>The main class which implements QR Code decoding -- as opposed to locating and extracting\r
* the QR Code from an image.</p>\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
public final class Decoder {\r
\r
* <p>See ISO 18004:2006, 6.5.1. This enum encapsulates the four error correction levels
* defined by the QR code standard.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class ErrorCorrectionLevel {
* <p>Encapsulates a QR Code's format information, including the data mask used and
* error correction level.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
* @see DataMask
* @see ErrorCorrectionLevel
*/
* <p>See ISO 18004:2006, 6.4.1, Tables 2 and 3. This enum encapsulates the various modes in which
* data can be encoded to bits in the QR code standard.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class Mode {
/**\r
* See ISO 18004:2006 Annex D\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
public final class Version {\r
\r
* <p>Encapsulates an alignment pattern, which are the smaller square patterns found in
* all but the simplest QR Codes.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class AlignmentPattern implements ResultPoint {
*\r
* <p>This class is not thread-safe.</p>\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
final class AlignmentPatternFinder {\r
\r
* <p>Encapsulates logic that can detect a QR Code in an image, even if the QR Code
* is rotated or skewed, or partially obscured.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class Detector {
* the corners of QR Codes. It also encapsulates a count of similar finder patterns,
* as a convenience to the finder's bookkeeping.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class FinderPattern implements ResultPoint {
*\r
* <p>This class is not thread-safe and should not be reused.</p>\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
final class FinderPatternFinder {\r
\r
* <p>Encapsulates information about finder patterns in an image, including the location of
* the three finder patterns, and their estimated module size.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
final class FinderPatternInfo {
/**
* Tests {@link ParsedResult}.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class ParsedReaderResultTestCase extends TestCase {
/**
* Tests {@link com.google.zxing.client.result.URIParsedResult}.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class URIParsedResultTestCase extends TestCase {
import java.nio.charset.Charset;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
* @author dswitkin@google.com (Daniel Switkin)
*/
public abstract class AbstractBlackBoxTestCase extends TestCase {
import junit.framework.TestCase;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class BitArrayTestCase extends TestCase {
import junit.framework.TestCase;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class BitMatrixTestCase extends TestCase {
/**\r
* Class that lets one easily build an array of bytes by appending bits at a time.\r
*\r
- * @author srowen@google.com (Sean Owen)\r
+ * @author Sean Owen\r
*/\r
public final class BitSourceBuilder {\r
\r
import junit.framework.TestCase;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class BitSourceTestCase extends TestCase {
import junit.framework.TestCase;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class BlackPointEstimationMethodTestCase extends TestCase {
import java.util.Vector;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class CollectionsTestCase extends TestCase {
import junit.framework.TestCase;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class PerspectiveTransformTestCase extends TestCase {
import java.util.Random;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
abstract class AbstractReedSolomonTestCase extends TestCase {
import java.util.Random;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
* @author sanfordsquires
*/
public final class ReedSolomonDecoderDataMatrixTestCase extends AbstractReedSolomonTestCase {
import java.util.Random;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class ReedSolomonDecoderQRCodeTestCase extends AbstractReedSolomonTestCase {
import java.util.Random;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class ReedSolomonEncoderQRCodeTestCase extends AbstractReedSolomonTestCase {
import java.io.File;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class Code128BlackBox1TestCase extends AbstractBlackBoxTestCase {
import java.io.File;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class Code128BlackBox3TestCase extends AbstractBlackBoxTestCase {
import java.io.File;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class Code39BlackBox1TestCase extends AbstractBlackBoxTestCase {
import java.io.File;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class Code39ExtendedBlackBox2TestCase extends AbstractBlackBoxTestCase {
import java.io.File;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class EAN13BlackBox1TestCase extends AbstractBlackBoxTestCase {
import java.io.File;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class EAN8BlackBox1TestCase extends AbstractBlackBoxTestCase {
import java.io.File;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class UPCABlackBox1TestCase extends AbstractBlackBoxTestCase {
import java.io.File;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class UPCEBlackBox1TestCase extends AbstractBlackBoxTestCase {
import java.io.File;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class QRCodeBlackBox1TestCase extends AbstractBlackBoxTestCase {
import java.io.File;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class QRCodeBlackBox2TestCase extends AbstractBlackBoxTestCase {
import junit.framework.TestCase;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class DataMaskTestCase extends TestCase {
/**
* Tests {@link com.google.zxing.qrcode.decoder.DecodedBitStreamParser}.
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class DecodedBitStreamParserTestCase extends TestCase {
import junit.framework.TestCase;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class ErrorCorrectionLevelTestCase extends TestCase {
import junit.framework.TestCase;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class FormatInformationTestCase extends TestCase {
import junit.framework.TestCase;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class ModeTestCase extends TestCase {
import junit.framework.TestCase;
/**
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class VersionTestCase extends TestCase {
* <p>Implementation suitable for JSR-234 phones which takes advantage of advanced camera
* capability.</p>
*
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
*/
final class AdvancedMultimediaManager implements MultimediaManager {
/**
* <p>Dummy implemenation which does nothing. This is suitable for non-JSR-234 phones.</p>
*
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
*/
final class DefaultMultimediaManager implements MultimediaManager {
/**
* <p>An implementation based on Java ME's {@link Image} representation.</p>
*
- * @author Sean Owen (srowen@google.com), Daniel Switkin (dswitkin@google.com)
+ * @author Sean Owen
+ * @author Daniel Switkin (dswitkin@google.com)
*/
public final class LCDUIImageMonochromeBitmapSource extends BaseMonochromeBitmapSource {
* {@link com.google.zxing.client.j2me.AdvancedMultimediaManager} in order to dynamically
* load support for JSR-234 APIs where possible.</p>
*
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
* @author Paul Hackenberger
*/
interface MultimediaManager {
/**
* Thread which does the work of capturing a frame and decoding it.
*
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
*/
final class SnapshotThread implements Runnable {
* The main {@link Canvas} onto which the camera's field of view is painted.
* This class manages decoding via {@link SnapshotThread}.
*
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
*/
final class VideoCanvas extends Canvas implements CommandListener {
/**
* <p>The actual reader application {@link MIDlet}.</p>
*
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
*/
public final class ZXingMIDlet extends MIDlet {
* based on a region of a {@link BufferedImage}; see
* {@link #BufferedImageMonochromeBitmapSource(BufferedImage, int, int, int, int)}.</p>
*
- * @author srowen@google.com (Sean Owen), Daniel Switkin (dswitkin@google.com)
+ * @author Sean Owen
+ * @author Daniel Switkin (dswitkin@google.com)
*/
public final class BufferedImageMonochromeBitmapSource extends BaseMonochromeBitmapSource {
* request that hint. The raw text of each barcode is printed, and when running against directories,
* summary statistics are also displayed.</p>
*
- * @author srowen@google.com (Sean Owen), dswitkin@google.com (Daniel Switkin)
+ * @author Sean Owen
+ * @author dswitkin@google.com (Daniel Switkin)
*/
public final class CommandLineRunner {
* <p>Simple GUI frontend to the library. Right now, only decodes a local file.
* This definitely needs some improvement. Just throwing something down to start.</p>
*
- * @author srowen@google.com (Sean Owen)
+ * @author Sean Owen
*/
public final class GUIRunner extends JFrame {
import java.util.Timer;
/**
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
*/
public final class DecodeEmailListener implements ServletContextListener {
* image. When one is found it attempts to decode the image and replies with the decoded messages
* by e-mail.
*
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
*/
final class DecodeEmailTask extends TimerTask {
* {@link HttpServlet} which decodes images containing barcodes. Given a URL, it will
* retrieve the image and decode it. It can also process image files uploaded via POST.
*
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
*/
public final class DecodeServlet extends HttpServlet {
* A {@link Filter} that rejects requests from hosts that are sending too many\r
* requests in too short a time.\r
* \r
- * @author Sean Owen (srowen@google.com)\r
+ * @author Sean Owen\r
*/\r
public final class DoSFilter implements Filter {\r
\r
/**
* A simple {@link Authenticator} which replies with a fixed username and password.
*
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
*/
final class EmailAuthenticator extends Authenticator {
/**\r
* A trie data structure for storing a set of IP addresses efficiently.\r
* \r
- * @author Sean Owen (srowen@google.com)\r
+ * @author Sean Owen\r
*/\r
final class IPTrie {\r
\r
/**
* A {@link Handler} that redirects log messages to the servlet container log.
*
- * @author Sean Owen (srowen@google.com)
+ * @author Sean Owen
*/
final class ServletContextLogHandler extends Handler {
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- Author: Sean Owen (srowen@google.com) -->
+<!-- Author: Sean Owen -->
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" version="2.1">
<jsp:output omit-xml-declaration="true"/>
<script type="text/javascript">
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- Author: Sean Owen (srowen@google.com) -->
+<!-- Author: Sean Owen -->
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" version="2.1">
<jsp:output
omit-xml-declaration="false" doctype-root-element="html"
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- Author: Sean Owen (srowen@google.com) -->
+<!-- Author: Sean Owen -->
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" version="2.1">
<jsp:output
omit-xml-declaration="false" doctype-root-element="html"
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- Author: Sean Owen (srowen@google.com) -->
+<!-- Author: Sean Owen -->
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" version="2.1">
<jsp:output
omit-xml-declaration="false" doctype-root-element="html"
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- Author: Sean Owen (srowen@google.com) -->
+<!-- Author: Sean Owen -->
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" version="2.1">
<jsp:output
omit-xml-declaration="false" doctype-root-element="html"
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- Author: Sean Owen (srowen@google.com) -->
+<!-- Author: Sean Owen -->
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" version="2.1">
<jsp:output
omit-xml-declaration="false" doctype-root-element="html"
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- Author: Sean Owen (srowen@google.com) -->
+<!-- Author: Sean Owen -->
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" version="2.1">
<jsp:output
omit-xml-declaration="false" doctype-root-element="html"