Class for encoding and decoding the text embedded in the MaxiCode code for modes 2.
This sample shows how to encode and decode MaxiCode codetext for mode 2.
//Mode 2 with standart second message
MaxiCodeCodetextMode2 maxiCodeCodetext = new MaxiCodeCodetextMode2();
maxiCodeCodetext.setPostalCode("524032140");
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 2 with structured second message
MaxiCodeCodetextMode2 maxiCodeCodetext = new MaxiCodeCodetextMode2();
maxiCodeCodetext.setPostalCode("524032140");
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 MaxiCodeCodetextMode2)
{
MaxiCodeCodetextMode2 maxiCodeStructuredCodetext = (MaxiCodeCodetextMode2)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 MaxiCodeCodetextMode2){
MaxiCodeCodetextMode2 maxiCodeStructuredCodetext = (MaxiCodeCodetextMode2)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);
}
}
}
}
}