Package net.sf.jasperreports.components.barcode4j

Source Code of net.sf.jasperreports.components.barcode4j.BarcodeDesignEvaluator

/*
* JasperReports - Free Java Reporting Library.
* Copyright (C) 2001 - 2009 Jaspersoft Corporation. All rights reserved.
* http://www.jaspersoft.com
*
* Unless you have purchased a commercial license agreement from Jaspersoft,
* the following license terms apply:
*
* This program is part of JasperReports.
*
* JasperReports is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* JasperReports is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with JasperReports. If not, see <http://www.gnu.org/licenses/>.
*/
package net.sf.jasperreports.components.barcode4j;

import org.krysalis.barcode4j.ChecksumMode;

import net.sf.jasperreports.engine.JRComponentElement;
import net.sf.jasperreports.engine.JRDefaultStyleProvider;
import net.sf.jasperreports.engine.JRExpression;
import net.sf.jasperreports.engine.JRRenderable;
import net.sf.jasperreports.engine.util.JRExpressionUtil;

/**
*
* @author Lucian Chirita (lucianc@users.sourceforge.net)
* @version $Id: BarcodeDesignEvaluator.java 3032 2009-08-27 11:32:28Z teodord $
*/
public class BarcodeDesignEvaluator extends AbstractBarcodeEvaluator
{

  public BarcodeDesignEvaluator(JRComponentElement componentElement,
      JRDefaultStyleProvider defaultStyleProvider)
  {
    super(componentElement, defaultStyleProvider);
  }
 
  public JRRenderable evaluateImage()
  {
    evaluateBarcode();
   
    BarcodeImageProducer imageProducer = BarcodeUtils.getImageProducer(
        componentElement);
    JRRenderable barcodeImage = imageProducer.createImage(
        componentElement,
        barcode, message, barcodeComponent.getOrientation());
    return barcodeImage;
  }
 
  protected void evaluateBaseBarcode(BarcodeComponent barcodeComponent,
      String defaultMessage)
  {
    message = evaluateStringExpression(barcodeComponent.getCodeExpression(),
        defaultMessage);
   
    String pattern = evaluateStringExpression(
        barcodeComponent.getPatternExpression(), null);
    if (pattern != null)
    {
      barcode.setPattern(pattern);
    }
  }

  protected String evaluateStringExpression(JRExpression expression, String defaultValue)
  {
    String value = JRExpressionUtil.getSimpleExpressionText(expression);
    if (value == null)
    {
      value = defaultValue;
    }
    return value;
  }
 
  protected void evaluateCodabar(CodabarComponent codabar)
  {
    evaluateBaseBarcode(codabar, "0123456789");
  }

  protected void evaluateCode128(Code128Component code128)
  {
    evaluateBaseBarcode(code128, "0123456789");
  }

  protected void evaluateDataMatrix(DataMatrixComponent dataMatrix)
  {
    evaluateBaseBarcode(dataMatrix, "0123456789");
  }

  protected void evaluateEANCode128(EAN128Component ean128)
  {
    evaluateBaseBarcode(ean128, "0101234567890128");
  }

  protected void evaluateCode39(Code39Component code39)
  {
    evaluateBaseBarcode(code39, "01234567892");
  }

  protected void evaluateUPCA(UPCAComponent upcA)
  {
    String defaultMessage;
    String checksumMode = upcA.getChecksumMode();
    if (checksumMode != null
        && checksumMode.equals(ChecksumMode.CP_ADD.getName()))
    {
      defaultMessage = "01234567890";
    }
    else
    {
      defaultMessage = "012345678905";
    }
     
    evaluateBaseBarcode(upcA, defaultMessage);
  }

  protected void evaluateUPCE(UPCEComponent upcE)
  {
    String defaultMessage;
    String checksumMode = upcE.getChecksumMode();
    if (checksumMode != null
        && checksumMode.equals(ChecksumMode.CP_ADD.getName()))
    {
      defaultMessage = "0123413";
    }
    else
    {
      defaultMessage = "01234133";
    }
     
    evaluateBaseBarcode(upcE, defaultMessage);
  }

  protected void evaluateEAN13(EAN13Component ean13)
  {
    String defaultMessage;
    String checksumMode = ean13.getChecksumMode();
    if (checksumMode != null
        && checksumMode.equals(ChecksumMode.CP_ADD.getName()))
    {
      defaultMessage = "012345678901";
    }
    else
    {
      defaultMessage = "0123456789012";
    }
     
    evaluateBaseBarcode(ean13, defaultMessage);
  }

  protected void evaluateEAN8(EAN8Component ean8)
  {
    String defaultMessage;
    String checksumMode = ean8.getChecksumMode();
    if (checksumMode != null
        && checksumMode.equals(ChecksumMode.CP_ADD.getName()))
    {
      defaultMessage = "0123456";
    }
    else
    {
      defaultMessage = "01234565";
    }
     
    evaluateBaseBarcode(ean8, defaultMessage);
  }

  protected void evaluateInterleaved2Of5(Interleaved2Of5Component interleaved2Of5)
  {
    evaluateBaseBarcode(interleaved2Of5, "0123456784");
  }

  protected void evaluateRoyalMailCustomer(
      RoyalMailCustomerComponent royalMailCustomer)
  {
    String defaultMessage;
    String checksumMode = royalMailCustomer.getChecksumMode();
    if (checksumMode != null
        && checksumMode.equals(ChecksumMode.CP_CHECK.getName()))
    {
      defaultMessage = "01234Q";
    }
    else
    {
      defaultMessage = "01234";
    }
     
    evaluateBaseBarcode(royalMailCustomer, defaultMessage);
  }

  protected void evaluateUSPSIntelligentMail(
      USPSIntelligentMailComponent intelligentMail)
  {
    evaluateBaseBarcode(intelligentMail,
        "00040123456200800001987654321");
  }

  protected void evaluatePOSTNET(POSTNETComponent intelligentMail)
  {
    evaluateBaseBarcode(intelligentMail, "01234");
  }

  protected void evaluatePDF417(PDF417Component pdf417)
  {
    evaluateBaseBarcode(pdf417, "01234");
  }

}
TOP

Related Classes of net.sf.jasperreports.components.barcode4j.BarcodeDesignEvaluator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.