Class for encoding and decoding the text embedded in the MaxiCode code for modes 3.
This sample shows how to encode and decode MaxiCode codetext for mode 3.
//Mode 3 with standart second message
MaxiCodeCodetextMode3 maxiCodeCodetext = new MaxiCodeCodetextMode3();
maxiCodeCodetext.setPostalCode("B1050");
maxiCodeCodetext.setCountryCode(056);
maxiCodeCodetext.setServiceCategory(999);
MaxiCodeStandartSecondMessage maxiCodeStandartSecondMessage = new MaxiCodeStandartSecondMessage();
maxiCodeStandartSecondMessage.setMessage("Test message");
maxiCodeCodetext.setSecondMessage(maxiCodeStandartSecondMessage);
ComplexBarcodeGenerator complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext);
complexGenerator.generateBarCodeImage();
//Mode 3 with structured second message
MaxiCodeCodetextMode3 maxiCodeCodetext = new MaxiCodeCodetextMode3();
maxiCodeCodetext.setPostalCode("B1050");
maxiCodeCodetext.setCountryCode(056);
maxiCodeCodetext.setServiceCategory(999);
MaxiCodeStructuredSecondMessage maxiCodeStructuredSecondMessage = new MaxiCodeStructuredSecondMessage();
maxiCodeStructuredSecondMessage.add("634 ALPHA DRIVE");
maxiCodeStructuredSecondMessage.add("PITTSBURGH");
maxiCodeStructuredSecondMessage.add("PA");
maxiCodeStructuredSecondMessage.setYear(99);
maxiCodeCodetext.setSecondMessage(maxiCodeStructuredSecondMessage);
ComplexBarcodeGenerator complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext);
complexGenerator.generateBarCodeImage();
//Decoding raw codetext with standart second message
BarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.MAXI_CODE);
for(BarCodeResult result : reader.readBarCodes())
{
MaxiCodeCodetext resultMaxiCodeCodetext = ComplexCodetextReader.tryDecodeMaxiCode(result.getExtended().getMaxiCode().getMaxiCodeMode(), result.getCodeText());
if (resultMaxiCodeCodetext instanceOf MaxiCodeCodetextMode3)
{
MaxiCodeCodetextMode3 maxiCodeStructuredCodetext = (MaxiCodeCodetextMode3)resultMaxiCodeCodetext;
System.out.println("BarCode Type: " + maxiCodeStructuredCodetext.getPostalCode());
System.out.println("MaxiCode mode: " + maxiCodeStructuredCodetext.getCountryCode());
System.out.println("BarCode CodeText: " + maxiCodeStructuredCodetext.getServiceCategory());
if (maxiCodeStructuredCodetext.getSecondMessage() instanceOf MaxiCodeStandartSecondMessage)
{
MaxiCodeStandartSecondMessage secondMessage = (MaxiCodeStandartSecondMessage)maxiCodeStructuredCodetext.getSecondMessage();
System.out.println("Message: " + secondMessage.getMessage());
}
}
}
//Decoding raw codetext with structured second message
BarCodeReader reader = new BarCodeReader("c:\\test.png", DecodeType.MAXI_CODE);
for(BarCodeResult result : reader.readBarCodes())
{
MaxiCodeCodetext resultMaxiCodeCodetext = ComplexCodetextReader.tryDecodeMaxiCode(result.getExtended().getMaxiCode().getMaxiCodeMode(), result.getCodeText());
if (resultMaxiCodeCodetext instanceOf MaxiCodeCodetextMode3)
{
MaxiCodeCodetextMode3 maxiCodeStructuredCodetext = (MaxiCodeCodetextMode3)resultMaxiCodeCodetext;
System.out.println("BarCode Type: " + maxiCodeStructuredCodetext.getPostalCode());
System.out.println("MaxiCode mode: " + maxiCodeStructuredCodetext.getCountryCode());
System.out.println("BarCode CodeText: " + maxiCodeStructuredCodetext.getServiceCategory());
if (maxiCodeStructuredCodetext.getSecondMessage() instanceOf MaxiCodeStructuredSecondMessage)
{
MaxiCodeStructuredSecondMessage secondMessage = (MaxiCodeStructuredSecondMessage)maxiCodeStructuredCodetext.getSecondMessage();
System.out.println("Message:");
for(String identifier : secondMessage.getIdentifiers())
{
System.out.println(identifier);
}
}
}
}