41.4. Java DSL を使用

まず、バーコードデータフォーマットクラスを初期化する必要があります。デフォルトのコンストラクター、またはパラメーター化されたコンストラクターのいずれかを使用できます (JavaDoc を参照)。デフォルト値は次のとおりです。

パラメーターデフォルト値

image type (BarcodeImageType)

PNG

width

100 px

height

100 px

encoding

UTF-8

バーコード形式 (BarcodeFormat)

QR-Code

// QR-Code default
DataFormat code = new BarcodeDataFormat();

zxing ヒントを使用する場合は、BarcodeDataFormat インスタンスの addToHintMap メソッドを使用できます。

code.addToHintMap(DecodeHintType.TRY_HARDER, Boolean.true);

考えられるヒントについては、xzing のドキュメントを参照してください。

41.4.1. マーシャリング

from("direct://code")
  .marshal(code)
  .to("file://barcode_out");

以下を使用して、テストクラスからルートを呼び出すことができます。

template.sendBody("direct://code", "This is a testmessage!");

barcode_out フォルダー内に次のイメージがあります。

image

41.4.2. アンマーシャリング

アンマーシャラーは汎用です。アンマーシャリングには、任意の BarcodeDataFormat インスタンスを使用できます。QR コード (生成) 用と PDF417 用の 2 つのインスタンスがある場合、どちらを使用するかは問題ではありません。

from("file://barcode_in?noop=true")
  .unmarshal(code) // for unmarshalling, the instance doesn't matter
  .to("mock:out");

上記の QR コードイメージを barcode_in フォルダーに貼り付けると、モック内に This is a testmessage! が表示されるはずです。バーコードデータ形式は、ヘッダー変数として見つけることができます。

名前タイプ説明

BarcodeFormat

String

com.google.zxing.BarcodeFormat の値。