Package com.google.zxing.oned
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 java.lang.Object implements Writer
Encapsulates functionality and implementation that is common to one-dimensional barcodes.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.Pattern
NUMERIC
-
Constructor Summary
Constructors Constructor Description OneDimensionalCodeWriter()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected static int
appendPattern(boolean[] target, int pos, int[] pattern, boolean startColor)
protected static void
checkNumeric(java.lang.String contents)
abstract boolean[]
encode(java.lang.String contents)
Encode the contents to boolean array expression of one-dimensional barcode.BitMatrix
encode(java.lang.String contents, BarcodeFormat format, int width, int height)
Encode a barcode using the default settings.BitMatrix
encode(java.lang.String contents, BarcodeFormat format, int width, int height, java.util.Map<EncodeHintType,?> hints)
Encode the contents following specified format.boolean[]
encode(java.lang.String contents, java.util.Map<EncodeHintType,?> hints)
Can be overwritten if the encode requires to read the hints map.int
getDefaultMargin()
protected java.util.Collection<BarcodeFormat>
getSupportedWriteFormats()
private static BitMatrix
renderResult(boolean[] code, int width, int height, int sidesMargin)
-
-
-
Method Detail
-
encode
public abstract boolean[] encode(java.lang.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(java.lang.String contents, java.util.Map<EncodeHintType,?> hints)
Can be overwritten if the encode requires to read the hints map. Otherwise it defaults toencode
.- Parameters:
contents
- barcode contents to encodehints
- encoding hints- Returns:
- a
boolean[]
of horizontal pixels (false = white, true = black)
-
encode
public final BitMatrix encode(java.lang.String contents, BarcodeFormat format, int width, int height)
Description copied from interface:Writer
Encode a barcode using the default settings.
-
encode
public BitMatrix encode(java.lang.String contents, BarcodeFormat format, int width, int height, java.util.Map<EncodeHintType,?> hints)
Encode the contents following specified format.width
andheight
are required size. This method may return bigger sizeBitMatrix
when specified size is too small. The user can set bothwidth
andheight
to zero to get minimum size barcode. If negative value is set towidth
orheight
,IllegalArgumentException
is thrown.- Specified by:
encode
in interfaceWriter
- Parameters:
contents
- The contents to encode in the barcodeformat
- The barcode format to generatewidth
- The preferred width in pixelsheight
- The preferred height in pixelshints
- Additional parameters to supply to the encoder- Returns:
BitMatrix
representing encoded barcode image
-
getSupportedWriteFormats
protected java.util.Collection<BarcodeFormat> getSupportedWriteFormats()
-
renderResult
private static BitMatrix renderResult(boolean[] code, int width, int height, int sidesMargin)
- Returns:
- a byte array of horizontal pixels (0 = white, 1 = black)
-
checkNumeric
protected static void checkNumeric(java.lang.String contents)
- Parameters:
contents
- string to check for numeric characters- Throws:
java.lang.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 arraypos
- position to start encoding at intarget
pattern
- lengths of black/white runs to encodestartColor
- starting color - false for white, true for black- Returns:
- the number of elements added to target.
-
getDefaultMargin
public int getDefaultMargin()
-
-