net.sourceforge.jbarcodebean.model
Class Ean13

java.lang.Object
  extended by net.sourceforge.jbarcodebean.model.AbstractBarcodeStrategy
      extended by net.sourceforge.jbarcodebean.model.Ean13
All Implemented Interfaces:
java.io.Serializable, BarcodeStrategy
Direct Known Subclasses:
Ean8

public class Ean13
extends AbstractBarcodeStrategy
implements java.io.Serializable

EAN-13 barcode implementation. If less than 12 digits are supplied, the symbol is invalid Only the first 12 digits are considered: the checksum (13th digit) is always generated (MANDATORY_CHECKSUM).

Author:
Jose Gaonac'h
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class net.sourceforge.jbarcodebean.model.AbstractBarcodeStrategy
AbstractBarcodeStrategy.CharacterCode
 
Field Summary
protected  java.lang.String checkSum
           
 
Fields inherited from interface net.sourceforge.jbarcodebean.model.BarcodeStrategy
MANDATORY_CHECKSUM, NO_CHECKSUM, OPTIONAL_CHECKSUM
 
Constructor Summary
Ean13()
           
 
Method Summary
protected  java.lang.String augmentWithChecksum(java.lang.String text)
          Subclasses implement this method to calculate the checksum from the text to encode, and return a String containing the text with the checksum included.
protected  void computeChecksum(java.lang.String text, int len)
           
protected  java.lang.String getBarcodeLabelText(java.lang.String text)
          Subclasses implement this method to return the text which appears below the barcode.
protected  AbstractBarcodeStrategy.CharacterCode[] getCodes()
          Subclasses implement this method to return an array of CharacterCode objects, representing all possible encodings of bars and spaces for every encodable character.
protected  byte getMarginWidth()
          Always returns 11 (eleven).
protected  char getStartSentinel()
          Subclasses implement this method to return the start sentinel character.
protected  char getStopSentinel()
          Subclasses implement this method to return the stop sentinel character.
protected  boolean isInterleaved()
          Subclasses must implement this method to return true or false depending on whether the barcode type is interleaved.
protected  java.lang.String postprocess(java.lang.String text)
          Subclasses implement this method to perform any postprocessing required to the text after including the checksum.
protected  java.lang.String preprocess(java.lang.String text)
          Subclasses implement this method to perform any preprocessing necessary on the original text to encode.
 int requiresChecksum()
          Subclasses implement this method to determine whether this type of barcode has a mandatory, optional or no checksum.
 
Methods inherited from class net.sourceforge.jbarcodebean.model.AbstractBarcodeStrategy
computeSize, encode, getCharacterCode, getCharacterCode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

checkSum

protected java.lang.String checkSum
Constructor Detail

Ean13

public Ean13()
Method Detail

requiresChecksum

public int requiresChecksum()
Description copied from interface: BarcodeStrategy
Subclasses implement this method to determine whether this type of barcode has a mandatory, optional or no checksum. Returns one of the constants defined in the interface.

Specified by:
requiresChecksum in interface BarcodeStrategy

getCodes

protected AbstractBarcodeStrategy.CharacterCode[] getCodes()
Description copied from class: AbstractBarcodeStrategy
Subclasses implement this method to return an array of CharacterCode objects, representing all possible encodings of bars and spaces for every encodable character.

Specified by:
getCodes in class AbstractBarcodeStrategy
Returns:
An array of CharacterCode objects, one for each possible character that can be encoded using this strategy.

computeChecksum

protected void computeChecksum(java.lang.String text,
                               int len)

augmentWithChecksum

protected java.lang.String augmentWithChecksum(java.lang.String text)
                                        throws BarcodeException
Description copied from class: AbstractBarcodeStrategy
Subclasses implement this method to calculate the checksum from the text to encode, and return a String containing the text with the checksum included.

Specified by:
augmentWithChecksum in class AbstractBarcodeStrategy
Parameters:
text - The text to encode (after preprocessing - see AbstractBarcodeStrategy.preprocess(java.lang.String)).
Returns:
A String containing the text passed into the method, augmented with the checksum. For barcode types that don't support a checksum, this would simply be the text passed to the method.
Throws:
BarcodeException

postprocess

protected java.lang.String postprocess(java.lang.String text)
Description copied from class: AbstractBarcodeStrategy
Subclasses implement this method to perform any postprocessing required to the text after including the checksum.

Specified by:
postprocess in class AbstractBarcodeStrategy
Parameters:
text - String to process (returned by AbstractBarcodeStrategy.augmentWithChecksum(java.lang.String)).
Returns:
String after postprocessing. If no postprocessing is required, the String passed to the method is returned.

preprocess

protected java.lang.String preprocess(java.lang.String text)
Description copied from class: AbstractBarcodeStrategy
Subclasses implement this method to perform any preprocessing necessary on the original text to encode. The result of this method is the string that gets passed to the AbstractBarcodeStrategy.augmentWithChecksum(java.lang.String) method.

Specified by:
preprocess in class AbstractBarcodeStrategy
Parameters:
text - The raw text to encode.
Returns:
The string after preprocessing. If no preprocessing is required, the String passed to the method is returned.

isInterleaved

protected boolean isInterleaved()
Description copied from class: AbstractBarcodeStrategy
Subclasses must implement this method to return true or false depending on whether the barcode type is interleaved.

Specified by:
isInterleaved in class AbstractBarcodeStrategy
Returns:
true if barcode type is interleaved, false if it is not.

getStartSentinel

protected char getStartSentinel()
Description copied from class: AbstractBarcodeStrategy
Subclasses implement this method to return the start sentinel character.

Specified by:
getStartSentinel in class AbstractBarcodeStrategy
Returns:
The character, which when encoded into bars and spaces, appears on the left edge of every barcode (immediately after the left margin).

getStopSentinel

protected char getStopSentinel()
Description copied from class: AbstractBarcodeStrategy
Subclasses implement this method to return the stop sentinel character.

Specified by:
getStopSentinel in class AbstractBarcodeStrategy
Returns:
The character, which when encoded into bars and spaces, appears on the right edge of every barcode (just before the right margin).

getMarginWidth

protected byte getMarginWidth()
Always returns 11 (eleven).

Specified by:
getMarginWidth in class AbstractBarcodeStrategy
Returns:
The space that must appear on the left and right sides of the barcode expressed as a multiple of the narrowest bar width.

getBarcodeLabelText

protected java.lang.String getBarcodeLabelText(java.lang.String text)
Description copied from class: AbstractBarcodeStrategy
Subclasses implement this method to return the text which appears below the barcode.

Specified by:
getBarcodeLabelText in class AbstractBarcodeStrategy
Parameters:
text - The raw text to encode.
Returns:
A String containing the text that will appear beneath the barcode.


Copyright © 2004-2009 The JBarcodeBean project. All Rights Reserved.