1 /* 2 * Fast QR Code generator library 3 * 4 * Copyright (c) Project Nayuki. (MIT License) 5 * https://www.nayuki.io/page/fast-qr-code-generator-library 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 * this software and associated documentation files (the "Software"), to deal in 9 * the Software without restriction, including without limitation the rights to 10 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 * the Software, and to permit persons to whom the Software is furnished to do so, 12 * subject to the following conditions: 13 * - The above copyright notice and this permission notice shall be included in 14 * all copies or substantial portions of the Software. 15 * - The Software is provided "as is", without warranty of any kind, express or 16 * implied, including but not limited to the warranties of merchantability, 17 * fitness for a particular purpose and noninfringement. In no event shall the 18 * authors or copyright holders be liable for any claim, damages or other 19 * liability, whether in an action of contract, tort or otherwise, arising from, 20 * out of or in connection with the Software or the use or other dealings in the 21 * Software. 22 */ 23 24 package io.nayuki.fastqrcodegen; 25 26 27 /** 28 * Thrown when the supplied data does not fit any QR Code version. Ways to handle this exception include: 29 * <ul> 30 * <li><p>Decrease the error correction level if it was greater than {@code Ecc.LOW}.</p></li> 31 * <li><p>If the advanced {@code encodeSegments()} function with 6 arguments or the 32 * {@code makeSegmentsOptimally()} function was called, then increase the maxVersion argument 33 * if it was less than {@link QrCode#MAX_VERSION}. (This advice does not apply to the other 34 * factory functions because they search all versions up to {@code QrCode.MAX_VERSION}.)</p></li> 35 * <li><p>Split the text data into better or optimal segments in order to reduce the number of 36 * bits required. (See {@link QrSegmentAdvanced#makeSegmentsOptimally(String,QrCode.Ecc,int,int) 37 * QrSegmentAdvanced.makeSegmentsOptimally()}.)</p></li> 38 * <li><p>Change the text or binary data to be shorter.</p></li> 39 * <li><p>Change the text to fit the character set of a particular segment mode (e.g. alphanumeric).</p></li> 40 * <li><p>Propagate the error upward to the caller/user.</p></li> 41 * </ul> 42 * @see QrCode#encodeText(String, QrCode.Ecc) 43 * @see QrCode#encodeBinary(byte[], QrCode.Ecc) 44 * @see QrCode#encodeSegments(java.util.List, QrCode.Ecc) 45 * @see QrCode#encodeSegments(java.util.List, QrCode.Ecc, int, int, int, boolean) 46 * @see QrSegmentAdvanced#makeSegmentsOptimally(String, QrCode.Ecc, int, int) 47 */ 48 public class DataTooLongException extends IllegalArgumentException { 49 DataTooLongException()50 public DataTooLongException() {} 51 52 DataTooLongException(String msg)53 public DataTooLongException(String msg) { 54 super(msg); 55 } 56 57 } 58