org.jpos.iso
Class ISOTagStringFieldPackager

java.lang.Object
  extended by org.jpos.iso.ISOFieldPackager
      extended by org.jpos.iso.ISOTagStringFieldPackager
Direct Known Subclasses:
IFEMC_LLCHAR, IFEPE_LLCHAR, IFMC_LLCHAR, IFMC_LLLCHAR

public class ISOTagStringFieldPackager
extends ISOFieldPackager

Generic class for handling string fields in Tag-Len-Value format Format TTLL.... Where TT is the n>0 digit field number (Tag) LL is the n>=0 digit field length (if n=0 it's means fixed length field with prefixer) .. is the field content

Version:
$Revision: 2854 $ $Date: 2010-01-02 11:34:31 +0100 (sob) $
Author:
joconnor, Robert Demski

Field Summary
 
Fields inherited from class org.jpos.iso.ISOFieldPackager
pad
 
Constructor Summary
ISOTagStringFieldPackager()
          Constructs a default ISOTagStringFieldPackager.
ISOTagStringFieldPackager(int maxLength, String description, Prefixer tagPrefixer, Padder padder, Interpreter interpreter, Prefixer prefixer)
          Creates an ISOTagStringFieldPackager.
ISOTagStringFieldPackager(Prefixer tagPrefixer, Padder padder, Interpreter interpreter, Prefixer prefixer)
          Constructs an ISOTagStringFieldPackager with a specific Padder, Interpreter and Prefixer.
 
Method Summary
 int getMaxPackedLength()
          Returns the prefixer's packed length and the interpreter's packed length.
 byte[] pack(ISOComponent c)
          Convert the component into a byte[].
 void setInterpreter(Interpreter interpreter)
          Sets the Interpreter.
 void setPadder(Padder padder)
          Sets the Padder.
 void setPrefixer(Prefixer prefixer)
          Sets the length prefixer.
 int unpack(ISOComponent c, byte[] b, int offset)
          Unpacks the byte array into the component.
 void unpack(ISOComponent c, InputStream in)
          Unpack the input stream into the component.
 
Methods inherited from class org.jpos.iso.ISOFieldPackager
createComponent, getDescription, getLength, pack, readBytes, setDescription, setLength, setPad
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ISOTagStringFieldPackager

public ISOTagStringFieldPackager()
Constructs a default ISOTagStringFieldPackager. There is ASCII tag L prefixer, no padding, no length prefix and a literal interpretation. The set methods must be called to make this ISOBaseFieldPackager useful.


ISOTagStringFieldPackager

public ISOTagStringFieldPackager(Prefixer tagPrefixer,
                                 Padder padder,
                                 Interpreter interpreter,
                                 Prefixer prefixer)
Constructs an ISOTagStringFieldPackager with a specific Padder, Interpreter and Prefixer. The length and description should be set with setLength() and setDescription methods.

Parameters:
tagPrefixer - The type of tag prefixer used to encode tag.
padder - The type of padding used.
interpreter - The interpreter used to encode the field.
prefixer - The type of length prefixer used to encode this field.

ISOTagStringFieldPackager

public ISOTagStringFieldPackager(int maxLength,
                                 String description,
                                 Prefixer tagPrefixer,
                                 Padder padder,
                                 Interpreter interpreter,
                                 Prefixer prefixer)
Creates an ISOTagStringFieldPackager.

Parameters:
maxLength - The maximum length of the field in characters or bytes depending on the datatype.
description - The description of the field. For human readable output.
tagPrefixer - The type of tag prefixer used to encode tag.
interpreter - The interpreter used to encode the field.
padder - The type of padding used.
prefixer - The type of length prefixer used to encode this field.
Method Detail

setPadder

public void setPadder(Padder padder)
Sets the Padder.

Parameters:
padder - The padder to use during packing and unpacking.

setInterpreter

public void setInterpreter(Interpreter interpreter)
Sets the Interpreter.

Parameters:
interpreter - The interpreter to use in packing and unpacking.

setPrefixer

public void setPrefixer(Prefixer prefixer)
Sets the length prefixer.

Parameters:
prefixer - The length prefixer to use during packing and unpacking.

getMaxPackedLength

public int getMaxPackedLength()
Returns the prefixer's packed length and the interpreter's packed length.

Specified by:
getMaxPackedLength in class ISOFieldPackager
See Also:
ISOFieldPackager.getMaxPackedLength()

pack

public byte[] pack(ISOComponent c)
            throws ISOException
Convert the component into a byte[].

Specified by:
pack in class ISOFieldPackager
Parameters:
c - - a component
Returns:
packed component
Throws:
ISOException

unpack

public int unpack(ISOComponent c,
                  byte[] b,
                  int offset)
           throws ISOException
Unpacks the byte array into the component.

Specified by:
unpack in class ISOFieldPackager
Parameters:
c - The component to unpack into.
b - The byte array to unpack.
offset - The index in the byte array to start unpacking from.
Returns:
The number of bytes consumed unpacking the component.
Throws:
ISOException

unpack

public void unpack(ISOComponent c,
                   InputStream in)
            throws IOException,
                   ISOException
Unpack the input stream into the component.

Overrides:
unpack in class ISOFieldPackager
Parameters:
c - The Component to unpack into.
in - Input stream where the packed bytes come from.
Throws:
IOException - Thrown if there's a problem reading the input stream.
ISOException


Copyright © 1998-2012 jPOS.org. All Rights Reserved.