org.jpos.iso.channel
Class VAPChannel

java.lang.Object
  extended by java.util.Observable
      extended by org.jpos.iso.BaseChannel
          extended by org.jpos.iso.channel.VAPChannel
All Implemented Interfaces:
Cloneable, Configurable, BaseChannelMBean, ClientChannel, FactoryChannel, FilteredChannel, ISOChannel, ISOSource, ServerChannel, LogSource

public class VAPChannel
extends BaseChannel

ISOChannel implementation - VISA's VAP framing

Version:
$Id$
Author:
apr@cs.com.uy
See Also:
ISOMsg, ISOException, ISOChannel

Field Summary
 
Fields inherited from class org.jpos.iso.BaseChannel
cnt, header, incomingFilters, logger, originalRealm, outgoingFilters, overrideHeader, packager, realm, serverIn, serverInLock, serverOut, serverOutLock, serverSocket, socketFactory, usable
 
Fields inherited from interface org.jpos.iso.ISOChannel
CONNECT, RX, SIZEOF_CNT, TX
 
Constructor Summary
VAPChannel()
          Public constructor (used by Class.forName("...").newInstance())
VAPChannel(ISOPackager p)
          Construct server ISOChannel
VAPChannel(ISOPackager p, ServerSocket serverSocket)
          constructs a server ISOChannel associated with a Server Socket
VAPChannel(String host, int port, ISOPackager p)
          Construct client ISOChannel
 
Method Summary
 String getDstId()
           
protected  ISOHeader getDynamicHeader(byte[] image)
          The default header for VAPChannel is BASE1Header
protected  int getHeaderLength()
           
protected  int getMessageLength()
           
 String getSrcId()
           
protected  boolean isRejected(byte[] b)
           
protected  byte[] readHeader(int hLen)
          This method reads in a Base 1 Header.
 void send(ISOMsg m)
          sends an ISOMsg over the TCP/IP session.
protected  void sendMessageHeader(ISOMsg m, int len)
           
protected  void sendMessageLength(int len)
           
 void setConfiguration(Configuration cfg)
          Implements Configurable
Properties:
host - destination host (if ClientChannel) port - port number (if ClientChannel) local-iface - local interfase to use (if ClientChannel) local-port - local port to bind (if ClientChannel) (host not present indicates a ServerChannel)
 void setDstId(String dstid)
           
 void setSrcId(String srcid)
           
protected  boolean shouldIgnore(byte[] b)
           
 
Methods inherited from class org.jpos.iso.BaseChannel
accept, addFilter, addFilter, addIncomingFilter, addOutgoingFilter, applyIncomingFilters, applyIncomingFilters, applyOutgoingFilters, applyTimeout, clone, connect, connect, createISOMsg, createMsg, disconnect, getBytes, getChannel, getConfiguration, getCounters, getDynamicPackager, getDynamicPackager, getDynamicPackager, getHeader, getHeaderLength, getHeaderLength, getHost, getIncomingFilters, getLogger, getMaxPacketLength, getMessage, getMessageTrailler, getName, getOriginalRealm, getOutgoingFilters, getPackager, getPort, getRealm, getServerSocket, getSocket, getSocketFactory, getTimeout, isConnected, isOverrideHeader, newSocket, newSocket, postConnectHook, receive, reconnect, removeFilter, removeFilter, removeIncomingFilter, removeOutgoingFilter, resetCounters, send, sendKeepAlive, sendMessage, sendMessageTrailler, sendMessageTrailler, setHeader, setHeader, setHost, setHost, setIncomingFilters, setLocalAddress, setLogger, setMaxPacketLength, setName, setOutgoingFilters, setOverrideHeader, setPackager, setPort, setServerSocket, setSocketFactory, setTimeout, setUsable, streamReceive, unpack
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VAPChannel

public VAPChannel()
Public constructor (used by Class.forName("...").newInstance())


VAPChannel

public VAPChannel(String host,
                  int port,
                  ISOPackager p)
Construct client ISOChannel

Parameters:
host - server TCP Address
port - server port number
p - an ISOPackager (should be ISO87BPackager)
See Also:
ISO87BPackager

VAPChannel

public VAPChannel(ISOPackager p)
           throws IOException
Construct server ISOChannel

Parameters:
p - an ISOPackager (should be ISO87BPackager)
Throws:
IOException
See Also:
ISO87BPackager

VAPChannel

public VAPChannel(ISOPackager p,
                  ServerSocket serverSocket)
           throws IOException
constructs a server ISOChannel associated with a Server Socket

Parameters:
p - an ISOPackager
serverSocket - where to accept a connection
Throws:
IOException
See Also:
ISOPackager
Method Detail

setSrcId

public void setSrcId(String srcid)

getSrcId

public String getSrcId()

setDstId

public void setDstId(String dstid)

getDstId

public String getDstId()

getDynamicHeader

protected ISOHeader getDynamicHeader(byte[] image)
The default header for VAPChannel is BASE1Header

Overrides:
getDynamicHeader in class BaseChannel
Parameters:
image - message image
Returns:
ISOHeader instance

readHeader

protected byte[] readHeader(int hLen)
                     throws IOException
This method reads in a Base 1 Header.

Overrides:
readHeader in class BaseChannel
Parameters:
hLen -
Returns:
Throws:
IOException

sendMessageLength

protected void sendMessageLength(int len)
                          throws IOException
Overrides:
sendMessageLength in class BaseChannel
Throws:
IOException

sendMessageHeader

protected void sendMessageHeader(ISOMsg m,
                                 int len)
                          throws IOException
Overrides:
sendMessageHeader in class BaseChannel
Parameters:
m - the message
len - already packed message len (to avoid re-pack)
Throws:
IOException

getMessageLength

protected int getMessageLength()
                        throws IOException,
                               ISOException
Overrides:
getMessageLength in class BaseChannel
Throws:
IOException
ISOException

getHeaderLength

protected int getHeaderLength()
Overrides:
getHeaderLength in class BaseChannel

isRejected

protected boolean isRejected(byte[] b)
Overrides:
isRejected in class BaseChannel

shouldIgnore

protected boolean shouldIgnore(byte[] b)
Overrides:
shouldIgnore in class BaseChannel

send

public void send(ISOMsg m)
          throws IOException,
                 ISOException
sends an ISOMsg over the TCP/IP session. swap source/destination addresses in BASE1Header if a reply message is detected.
Sending an incoming message is seen as a reply.

Specified by:
send in interface ISOChannel
Specified by:
send in interface ISOSource
Overrides:
send in class BaseChannel
Parameters:
m - the Message to be sent
Throws:
IOException
ISOException
See Also:
ISOChannel.send(org.jpos.iso.ISOMsg)

setConfiguration

public void setConfiguration(Configuration cfg)
                      throws ConfigurationException
Description copied from class: BaseChannel
Implements Configurable
Properties:
(host not present indicates a ServerChannel)

Specified by:
setConfiguration in interface Configurable
Overrides:
setConfiguration in class BaseChannel
Parameters:
cfg - Configuration
Throws:
ConfigurationException


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