public BitMatrix encode(String contents, BarcodeFormat format, int width, int height, Hashtable hints) throws WriterException { Writer writer; if (format == BarcodeFormat.EAN_8) { writer = new EAN8Writer(); } else if (format == BarcodeFormat.EAN_13) { writer = new EAN13Writer(); } else if (format == BarcodeFormat.QR_CODE) { writer = new QRCodeWriter(); } else if (format == BarcodeFormat.CODE_39) { writer = new Code39Writer(); } else if (format == BarcodeFormat.CODE_128) { writer = new Code128Writer(); } else if (format == BarcodeFormat.ITF) { writer = new ITFWriter(); } else { throw new IllegalArgumentException("No encoder available for format " + format); } return writer.encode(contents, format, width, height, hints); }