Class OneDimensionalCodeWriter

java.lang.Object
com.google.zxing.oned.OneDimensionalCodeWriter
All Implemented Interfaces:
Writer
Direct Known Subclasses:
CodaBarWriter, Code128Writer, Code39Writer, Code93Writer, ITFWriter, UPCEANWriter

public abstract class OneDimensionalCodeWriter extends Object implements Writer

Encapsulates functionality and implementation that is common to one-dimensional barcodes.

Author:
dsbnatut@gmail.com (Kazuki Nishiura)
  • Constructor Details

    • OneDimensionalCodeWriter

      public OneDimensionalCodeWriter()
  • Method Details

    • encode

      public abstract boolean[] encode(String contents)
      Encode the contents to boolean array expression of one-dimensional barcode. Start code and end code should be included in result, and side margins should not be included.
      Parameters:
      contents - barcode contents to encode
      Returns:
      a boolean[] of horizontal pixels (false = white, true = black)
    • encode

      public boolean[] encode(String contents, Map<EncodeHintType,?> hints)
      Can be overwritten if the encode requires to read the hints map. Otherwise it defaults to encode.
      Parameters:
      contents - barcode contents to encode
      hints - encoding hints
      Returns:
      a boolean[] of horizontal pixels (false = white, true = black)
    • encode

      public final BitMatrix encode(String contents, BarcodeFormat format, int width, int height)
      Description copied from interface: Writer
      Encode a barcode using the default settings.
      Specified by:
      encode in interface Writer
      Parameters:
      contents - The contents to encode in the barcode
      format - The barcode format to generate
      width - The preferred width in pixels
      height - The preferred height in pixels
      Returns:
      BitMatrix representing encoded barcode image
    • encode

      public BitMatrix encode(String contents, BarcodeFormat format, int width, int height, Map<EncodeHintType,?> hints)
      Encode the contents following specified format. width and height are required size. This method may return bigger size BitMatrix when specified size is too small. The user can set both width and height to zero to get minimum size barcode. If negative value is set to width or height, IllegalArgumentException is thrown.
      Specified by:
      encode in interface Writer
      Parameters:
      contents - The contents to encode in the barcode
      format - The barcode format to generate
      width - The preferred width in pixels
      height - The preferred height in pixels
      hints - Additional parameters to supply to the encoder
      Returns:
      BitMatrix representing encoded barcode image
    • getSupportedWriteFormats

      protected Collection<BarcodeFormat> getSupportedWriteFormats()
    • checkNumeric

      protected static void checkNumeric(String contents)
      Parameters:
      contents - string to check for numeric characters
      Throws:
      IllegalArgumentException - if input contains characters other than digits 0-9.
    • appendPattern

      protected static int appendPattern(boolean[] target, int pos, int[] pattern, boolean startColor)
      Parameters:
      target - encode black/white pattern into this array
      pos - position to start encoding at in target
      pattern - lengths of black/white runs to encode
      startColor - starting color - false for white, true for black
      Returns:
      the number of elements added to target.
    • getDefaultMargin

      public int getDefaultMargin()