From 2d77cec7c835e3f07a1a258d297cc7a8b917d42d Mon Sep 17 00:00:00 2001 From: "MakKi (makki_d)" Date: Sat, 1 Jun 2019 00:32:53 +0900 Subject: [PATCH] check format param in CodaBarWriter::encode (#1173) --- .../com/google/zxing/oned/CodaBarWriter.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/core/src/main/java/com/google/zxing/oned/CodaBarWriter.java b/core/src/main/java/com/google/zxing/oned/CodaBarWriter.java index d27a166f1..69155e24c 100644 --- a/core/src/main/java/com/google/zxing/oned/CodaBarWriter.java +++ b/core/src/main/java/com/google/zxing/oned/CodaBarWriter.java @@ -16,6 +16,13 @@ package com.google.zxing.oned; +import com.google.zxing.BarcodeFormat; +import com.google.zxing.EncodeHintType; +import com.google.zxing.WriterException; +import com.google.zxing.common.BitMatrix; + +import java.util.Map; + /** * This class renders CodaBar as {@code boolean[]}. * @@ -28,6 +35,19 @@ public final class CodaBarWriter extends OneDimensionalCodeWriter { private static final char[] CHARS_WHICH_ARE_TEN_LENGTH_EACH_AFTER_DECODED = {'/', ':', '+', '.'}; private static final char DEFAULT_GUARD = START_END_CHARS[0]; + @Override + public BitMatrix encode(String contents, + BarcodeFormat format, + int width, + int height, + Map hints) throws WriterException { + if (format != BarcodeFormat.CODABAR) { + throw new IllegalArgumentException("Can only encode CODABAR, but got " + format); + } + + return super.encode(contents, format, width, height, hints); + } + @Override public boolean[] encode(String contents) {