From fcab3ea7f447d024c48ff44396887e04110aa06e Mon Sep 17 00:00:00 2001 From: Mariotaku Lee Date: Wed, 5 Apr 2017 12:42:34 +0800 Subject: [PATCH] fixed class references --- .../nayuki/qrcodegen/QrSegmentAdvanced.java | 4 +-- .../src/io/nayuki/qrcodegen/BitBuffer.java | 1 - .../core/src/io/nayuki/qrcodegen/Objects.java | 14 +++++++++ java/core/src/io/nayuki/qrcodegen/QrCode.java | 29 +++++++------------ .../src/io/nayuki/qrcodegen/QrSegment.java | 1 - java/demo/build.gradle | 1 + 6 files changed, 28 insertions(+), 22 deletions(-) create mode 100644 java/core/src/io/nayuki/qrcodegen/Objects.java diff --git a/java/advanced/src/io/nayuki/qrcodegen/QrSegmentAdvanced.java b/java/advanced/src/io/nayuki/qrcodegen/QrSegmentAdvanced.java index 310e608..b2ca23b 100644 --- a/java/advanced/src/io/nayuki/qrcodegen/QrSegmentAdvanced.java +++ b/java/advanced/src/io/nayuki/qrcodegen/QrSegmentAdvanced.java @@ -33,7 +33,6 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.Objects; public final class QrSegmentAdvanced { @@ -282,7 +281,8 @@ public final class QrSegmentAdvanced { ByteArrayOutputStream os = new ByteArrayOutputStream(); InputStream is = null; try { - is = QrSegmentAdvanced.class.getResourceAsStream("qr_kanji_to_unicode.bin"); + ClassLoader classloader = Thread.currentThread().getContextClassLoader(); + is = classloader.getResourceAsStream("qr_kanji_to_unicode.bin"); byte[] buffer = new byte[8192]; int read; while ((read = is.read(buffer)) != -1) { diff --git a/java/core/src/io/nayuki/qrcodegen/BitBuffer.java b/java/core/src/io/nayuki/qrcodegen/BitBuffer.java index 4c5d0ee..7350b03 100644 --- a/java/core/src/io/nayuki/qrcodegen/BitBuffer.java +++ b/java/core/src/io/nayuki/qrcodegen/BitBuffer.java @@ -25,7 +25,6 @@ package io.nayuki.qrcodegen; import java.util.Arrays; -import java.util.Objects; /** diff --git a/java/core/src/io/nayuki/qrcodegen/Objects.java b/java/core/src/io/nayuki/qrcodegen/Objects.java new file mode 100644 index 0000000..c02fadc --- /dev/null +++ b/java/core/src/io/nayuki/qrcodegen/Objects.java @@ -0,0 +1,14 @@ +package io.nayuki.qrcodegen; + +/** + * Created by mariotaku on 2017/4/5. + */ +public class Objects { + + static T requireNonNull(T obj) { + if (obj == null) + throw new NullPointerException(); + return obj; + } + +} diff --git a/java/core/src/io/nayuki/qrcodegen/QrCode.java b/java/core/src/io/nayuki/qrcodegen/QrCode.java index 1b715d7..9c32718 100644 --- a/java/core/src/io/nayuki/qrcodegen/QrCode.java +++ b/java/core/src/io/nayuki/qrcodegen/QrCode.java @@ -27,7 +27,6 @@ package io.nayuki.qrcodegen; import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.Locale; /** * Represents an immutable square grid of black and white cells for a QR Code symbol, and @@ -51,8 +50,8 @@ public final class QrCode { * @throws IllegalArgumentException if the text fails to fit in the largest version QR Code, which means it is too long */ public static QrCode encodeText(String text, Ecc ecl) { - requireNonNull(text); - requireNonNull(ecl); + Objects.requireNonNull(text); + Objects.requireNonNull(ecl); List segs = QrSegment.makeSegments(text); return encodeSegments(segs, ecl); } @@ -70,8 +69,8 @@ public final class QrCode { * @throws IllegalArgumentException if the data fails to fit in the largest version QR Code, which means it is too long */ public static QrCode encodeBinary(byte[] data, Ecc ecl) { - requireNonNull(data); - requireNonNull(ecl); + Objects.requireNonNull(data); + Objects.requireNonNull(ecl); QrSegment seg = QrSegment.makeBytes(data); return encodeSegments(Collections.singletonList(seg), ecl); } @@ -112,8 +111,8 @@ public final class QrCode { * < −1 or mask > 7, or if the data is too long to fit in a QR Code at maxVersion at the ECL */ public static QrCode encodeSegments(List segs, Ecc ecl, int minVersion, int maxVersion, int mask, boolean boostEcl) { - requireNonNull(segs); - requireNonNull(ecl); + Objects.requireNonNull(segs); + Objects.requireNonNull(ecl); if (!(1 <= minVersion && minVersion <= maxVersion && maxVersion <= 40) || mask < -1 || mask > 7) throw new IllegalArgumentException("Invalid value"); @@ -201,10 +200,10 @@ public final class QrCode { */ public QrCode(int ver, Ecc ecl, byte[] dataCodewords, int mask) { // Check arguments - requireNonNull(ecl); + Objects.requireNonNull(ecl); if (ver < 1 || ver > 40 || mask < -1 || mask > 7) throw new IllegalArgumentException("Value out of range"); - requireNonNull(dataCodewords); + Objects.requireNonNull(dataCodewords); // Initialize fields version = ver; @@ -232,7 +231,7 @@ public final class QrCode { */ public QrCode(QrCode qr, int mask) { // Check arguments - requireNonNull(qr); + Objects.requireNonNull(qr); if (mask < -1 || mask > 7) throw new IllegalArgumentException("Mask value out of range"); @@ -435,7 +434,7 @@ public final class QrCode { // Draws the given sequence of 8-bit codewords (data and error correction) onto the entire // data area of this QR Code symbol. Function modules need to be marked off before this is called. private void drawCodewords(byte[] data) { - requireNonNull(data); + Objects.requireNonNull(data); if (data.length != getNumRawDataModules(version) / 8) throw new IllegalArgumentException(); @@ -769,7 +768,7 @@ public final class QrCode { * @throws NullPointerException if the data is {@code null} */ public byte[] getRemainder(byte[] data) { - requireNonNull(data); + Objects.requireNonNull(data); // Compute the remainder by performing polynomial division byte[] result = new byte[coefficients.length]; @@ -804,10 +803,4 @@ public final class QrCode { } - private static T requireNonNull(T obj) { - if (obj == null) - throw new NullPointerException(); - return obj; - } - } diff --git a/java/core/src/io/nayuki/qrcodegen/QrSegment.java b/java/core/src/io/nayuki/qrcodegen/QrSegment.java index 3d76979..9b0833a 100644 --- a/java/core/src/io/nayuki/qrcodegen/QrSegment.java +++ b/java/core/src/io/nayuki/qrcodegen/QrSegment.java @@ -28,7 +28,6 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.Objects; import java.util.regex.Pattern; diff --git a/java/demo/build.gradle b/java/demo/build.gradle index a98b6bc..b710011 100644 --- a/java/demo/build.gradle +++ b/java/demo/build.gradle @@ -2,4 +2,5 @@ dependencies { compile project(':core') compile project(':javase') compile project(':svg') + compile project(':advanced') } \ No newline at end of file