Package org.jpos.iso.channel
Class VAPChannel
- java.lang.Object
-
- java.util.Observable
-
- org.jpos.iso.BaseChannel
-
- org.jpos.iso.channel.VAPChannel
-
- All Implemented Interfaces:
java.lang.Cloneable
,Configurable
,ExceptionHandlerAware
,BaseChannelMBean
,ClientChannel
,FactoryChannel
,FilteredChannel
,ISOChannel
,ISOSource
,ServerChannel
,LogSource
public class VAPChannel extends BaseChannel
ISOChannel implementation - VISA's VAP framing- 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
Constructors Constructor Description VAPChannel()
Public constructor (used by Class.forName("...").newInstance())VAPChannel(java.lang.String host, int port, ISOPackager p)
Construct client ISOChannelVAPChannel(ISOPackager p)
Construct server ISOChannelVAPChannel(ISOPackager p, java.net.ServerSocket serverSocket)
constructs a server ISOChannel associated with a Server Socket
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getDstId()
protected ISOHeader
getDynamicHeader(byte[] image)
The default header for VAPChannel is BASE1Headerprotected int
getHeaderLength()
protected int
getMessageLength()
java.lang.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(java.lang.String dstid)
void
setSrcId(java.lang.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, closeSocket, connect, connect, createISOMsg, createMsg, disconnect, getBytes, getChannel, getConfiguration, getCounters, getDynamicPackager, getDynamicPackager, getDynamicPackager, getExceptionHandlers, getHeader, getHeaderLength, getHeaderLength, getHost, getIncomingFilters, getLogger, getMaxPacketLength, getMessage, getMessageTrailer, getMessageTrailler, getName, getOriginalRealm, getOutgoingFilters, getPackager, getPort, getRealm, getServerSocket, getSocket, getSocketFactory, getSoLingerSeconds, getTimeout, isConnected, isExpectKeepAlive, isOverrideHeader, isSoLingerOn, newSocket, newSocket, pack, postConnectHook, receive, reconnect, removeFilter, removeFilter, removeIncomingFilter, removeOutgoingFilter, resetCounters, send, sendKeepAlive, sendMessage, sendMessageTrailer, sendMessageTrailler, sendMessageTrailler, setHeader, setHeader, setHost, setHost, setIncomingFilters, setLocalAddress, setLogger, setMaxPacketLength, setName, setOutgoingFilters, setOverrideHeader, setPackager, setPort, setServerSocket, setSocketFactory, setSoLinger, 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
-
Methods inherited from interface org.jpos.core.handlers.exception.ExceptionHandlerAware
addHandler, addHandler, handle, removeHandler, removeHandler, removeHandlers
-
-
-
-
Constructor Detail
-
VAPChannel
public VAPChannel()
Public constructor (used by Class.forName("...").newInstance())
-
VAPChannel
public VAPChannel(java.lang.String host, int port, ISOPackager p)
Construct client ISOChannel- Parameters:
host
- server TCP Addressport
- server port numberp
- an ISOPackager (should be ISO87BPackager)- See Also:
ISO87BPackager
-
VAPChannel
public VAPChannel(ISOPackager p) throws java.io.IOException
Construct server ISOChannel- Parameters:
p
- an ISOPackager (should be ISO87BPackager)- Throws:
java.io.IOException
- See Also:
ISO87BPackager
-
VAPChannel
public VAPChannel(ISOPackager p, java.net.ServerSocket serverSocket) throws java.io.IOException
constructs a server ISOChannel associated with a Server Socket- Parameters:
p
- an ISOPackagerserverSocket
- where to accept a connection- Throws:
java.io.IOException
- See Also:
ISOPackager
-
-
Method Detail
-
setSrcId
public void setSrcId(java.lang.String srcid)
-
getSrcId
public java.lang.String getSrcId()
-
setDstId
public void setDstId(java.lang.String dstid)
-
getDstId
public java.lang.String getDstId()
-
getDynamicHeader
protected ISOHeader getDynamicHeader(byte[] image)
The default header for VAPChannel is BASE1Header- Overrides:
getDynamicHeader
in classBaseChannel
- Parameters:
image
- message image- Returns:
- ISOHeader instance
-
readHeader
protected byte[] readHeader(int hLen) throws java.io.IOException
This method reads in a Base 1 Header.- Overrides:
readHeader
in classBaseChannel
- Parameters:
hLen
-- Returns:
- The header bytes that were read in
- Throws:
java.io.IOException
-
sendMessageLength
protected void sendMessageLength(int len) throws java.io.IOException
- Overrides:
sendMessageLength
in classBaseChannel
- Throws:
java.io.IOException
-
sendMessageHeader
protected void sendMessageHeader(ISOMsg m, int len) throws java.io.IOException
- Overrides:
sendMessageHeader
in classBaseChannel
- Parameters:
m
- the messagelen
- already packed message len (to avoid re-pack)- Throws:
java.io.IOException
-
getMessageLength
protected int getMessageLength() throws java.io.IOException, ISOException
- Overrides:
getMessageLength
in classBaseChannel
- Throws:
java.io.IOException
ISOException
-
getHeaderLength
protected int getHeaderLength()
- Overrides:
getHeaderLength
in classBaseChannel
-
isRejected
protected boolean isRejected(byte[] b)
- Overrides:
isRejected
in classBaseChannel
-
shouldIgnore
protected boolean shouldIgnore(byte[] b)
- Overrides:
shouldIgnore
in classBaseChannel
-
send
public void send(ISOMsg m) throws java.io.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 interfaceISOChannel
- Specified by:
send
in interfaceISOSource
- Overrides:
send
in classBaseChannel
- Parameters:
m
- the Message to be sent- Throws:
java.io.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 - 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)
- Specified by:
setConfiguration
in interfaceConfigurable
- Overrides:
setConfiguration
in classBaseChannel
- Parameters:
cfg
- Configuration- Throws:
ConfigurationException
-
-