Uses of Class
org.jpos.iso.ISOException

Packages that use ISOException
org.jpos.core classes such as CardHolder, CardTransaction, CardAgent, etc. 
org.jpos.iso ISO-8583/ANSI X9.2 related classes 
org.jpos.iso.channel ISOChannel implementations 
org.jpos.iso.filter ISOFilter implementations 
org.jpos.iso.packager Packager implementations 
org.jpos.iso.validator   
org.jpos.q2   
org.jpos.q2.iso   
org.jpos.security Key management, MAC, PIN encryption related classes. 
org.jpos.security.jceadapter JCE Security Module and its corresponding adapter (built into the JCE Security Module itself) 
org.jpos.tlv   
org.jpos.util utility/helper classes 
 

Uses of ISOException in org.jpos.core
 

Subclasses of ISOException in org.jpos.core
 class ConfigurationException
           
 

Uses of ISOException in org.jpos.iso
 

Subclasses of ISOException in org.jpos.iso
static class ISOFilter.VetoException
           
 

Methods in org.jpos.iso that throw ISOException
 void ISOServer.Session.checkPermission(Socket socket, LogEvent evt)
           
 ServerSocket ISOServerSocketFactory.createServerSocket(int port)
          Create a server socket on the specified port (port 0 indicates an anonymous port).
 ServerSocket SunJSSESocketFactory.createServerSocket(int port)
          Create a server socket on the specified port (port 0 indicates an anonymous port).
protected  SSLServerSocketFactory SunJSSESocketFactory.createServerSocketFactory()
          Create a socket factory
 Socket SunJSSESocketFactory.createSocket(String host, int port)
          Create a client socket connected to the specified host and port.
 Socket ISOClientSocketFactory.createSocket(String host, int port)
          Create a client socket connected to the specified host and port.
protected  SSLSocketFactory SunJSSESocketFactory.createSocketFactory()
          Create a socket factory
 int Prefixer.decodeLength(byte[] b, int offset)
          Decodes an encoded length.
 void Prefixer.encodeLength(int length, byte[] b)
          Fills a byte array with the field length data in raw form.
 void AsciiPrefixer.encodeLength(int length, byte[] b)
           
static String ISOUtil.formatAmount(long l, int len)
          prepare long value used as amount for display (implicit 2 decimals)
static String ISOUtil.formatAmountConversionRate(double convRate)
          Format a string containing a amount conversion rate in the proper format

Format: The leftmost digit (i.e., position 1) of this data element denotes the number of positions the decimal separator must be moved from the right.

 String ISOAmount.getAmountAsLegacyString()
           
 String ISOAmount.getAmountAsString()
           
 byte[] ISOComponent.getBytes()
          get Value as bytes (when possible)
 ISOComponent ISOMsg.getComponent(String fpath)
          get the component associated with the given field number
static Currency ISOCurrency.getCurrency(int code)
           
static Currency ISOCurrency.getCurrency(String code)
           
 String ISOAmount.getCurrencyCodeAsString()
           
 Object ISOComponent.getKey()
          valid on Leafs only.
 Object ISOMsg.getKey()
           
protected  void BaseChannel.getMessage(byte[] b, int offset, int len)
           
protected  int BaseChannel.getMessageLength()
           
 String ISOMsg.getMTI()
           
 Object ISOComponent.getValue()
          valid on Leafs only.
 Object ISOAmount.getValue()
           
 Object ISOMsg.getValue(int fldno)
          Return the object value associated with the given field number
 Object ISOMsg.getValue(String fpath)
          Return the object value associated with the given field path
 boolean ISOMsg.hasField(String fpath)
          Check if a field indicated by a fpath is present
 void Interpreter.interpret(String data, byte[] b, int offset)
          Converts the string data into a different interpretation.
 boolean ISOMsg.isRequest()
           
 boolean ISOMsg.isResponse()
           
 boolean ISOMsg.isRetransmission()
           
 void ISOMsg.move(int oldFieldNumber, int newFieldNumber)
          moves a field (renumber)
abstract  byte[] ISOComponent.pack()
           
 byte[] ISOField.pack()
          not available on Leaf - always throw ISOException
 byte[] ISOBitMap.pack()
          not available on Leaf - always throw ISOException
 byte[] ISOBinaryField.pack()
          not available on Leaf - always throw ISOException
 byte[] ISOAmount.pack()
           
 byte[] FSDISOMsg.pack()
           
 byte[] ISOMsg.pack()
          pack the message with the current packager
 byte[] ISOAmountFieldPackager.pack(ISOComponent c)
          Packs the component into a byte[].
 byte[] IFB_LLHFBINARY.pack(ISOComponent c)
           
 byte[] X92_BITMAP.pack(ISOComponent c)
           
 byte[] ISOFilledStringFieldPackager.pack(ISOComponent c)
          Convert the component into a byte[].
 byte[] ISOPackager.pack(ISOComponent m)
           
 byte[] IFE_BITMAP.pack(ISOComponent c)
           
 byte[] IF_ECHAR.pack(ISOComponent c)
          Deprecated.  
 byte[] IFB_BITMAP.pack(ISOComponent c)
           
 byte[] ISOBasePackager.pack(ISOComponent m)
           
 byte[] IFA_LLLABINARY.pack(ISOComponent c)
           
 byte[] IFEB_LLNUM.pack(ISOComponent c)
           
abstract  byte[] ISOFieldPackager.pack(ISOComponent c)
           
 byte[] IFEP_LLCHAR.pack(ISOComponent c)
           
 byte[] ISOTagStringFieldPackager.pack(ISOComponent c)
          Convert the component into a byte[].
 byte[] IFIPM_LLLCHAR.pack(ISOComponent c)
           
 byte[] IFA_LLBNUM.pack(ISOComponent c)
           
 byte[] ISOStringFieldPackager.pack(ISOComponent c)
          Convert the component into a byte[].
 byte[] ISOBinaryFieldPackager.pack(ISOComponent c)
          Convert the component into a byte[].
 byte[] IFA_BITMAP.pack(ISOComponent c)
           
 byte[] IF_UNUSED.pack(ISOComponent c)
           
 byte[] IFB_AMOUNT.pack(ISOComponent c)
           
 byte[] IFEB_LLLNUM.pack(ISOComponent c)
           
 byte[] IFA_LLABINARY.pack(ISOComponent c)
           
 byte[] ISOMsgFieldPackager.pack(ISOComponent c)
           
 byte[] IF_TCHAR.pack(ISOComponent c)
           
 byte[] ISOTagBinaryFieldPackager.pack(ISOComponent c)
          Convert the component into a byte[].
 void ISOFieldPackager.pack(ISOComponent c, ObjectOutput out)
           
 void ISOComponent.pack(OutputStream out)
           
 String RightTPadder.pad(String data, int maxLength)
           
 String RightPadder.pad(String data, int maxLength)
           
 String LeftPadder.pad(String data, int maxLength)
           
 String Padder.pad(String data, int maxLength)
          Returns a padded string upto a maximum length.
static String ISOUtil.padleft(String s, int len, char c)
          pad to the left
static String ISOUtil.padright(String s, int len, char c)
          pad to the right
 void ISOMsg.recalcBitMap()
          setup BitMap
 ISOMsg BaseChannel.receive()
          Waits and receive an ISOMsg over the TCP/IP session
 ISOMsg ISOChannel.receive()
          Receives an ISOMsg
 ISOMsg MUX.request(ISOMsg m, long timeout)
           
 void MUX.request(ISOMsg m, long timeout, ISOResponseListener r, Object handBack)
           
 void BaseChannel.send(byte[] b)
          sends a byte[] over the TCP/IP session
 void ISOChannel.send(byte[] b)
          sends a byte[] over the TCP/IP session
 void BaseChannel.send(ISOMsg m)
          sends an ISOMsg over the TCP/IP session
 void ISOSource.send(ISOMsg m)
          sends (or hands back) an ISOMsg
 void ISOChannel.send(ISOMsg m)
          sends an ISOMsg over the TCP/IP session
 void ISOMsg.set(int fldno, byte[] value)
          Creates an ISOBinaryField associated with fldno within this ISOMsg
 void ISOMsg.set(int fldno, String value)
          Creates an ISOField associated with fldno within this ISOMsg
 void ISOComponent.set(ISOComponent c)
          Set a field within this message
 void ISOMsg.set(ISOComponent c)
          Set a field within this message
 void ISOMsg.set(String fpath, byte[] value)
          Creates an ISOField associated with fldno within this ISOMsg
 void ISOMsg.set(String fpath, ISOComponent c)
          Creates an ISOField associated with fldno within this ISOMsg
 void ISOMsg.set(String fpath, String value)
          Creates an ISOField associated with fldno within this ISOMsg
 void ISOMsg.setMTI(String mti)
           
 void ISOMsg.setResponseMTI()
          sets an appropiate response MTI.
 void ISOMsg.setRetransmissionMTI()
          sets an appropiate retransmission MTI
abstract  void ISOComponent.setValue(Object obj)
           
 void ISOField.setValue(Object obj)
           
 void ISOBitMap.setValue(Object obj)
           
 void ISOBinaryField.setValue(Object obj)
           
 void ISOAmount.setValue(Object obj)
           
 void ISOMsg.setValue(Object obj)
          Don't call setValue on an ISOMsg.
static String ISOUtil.takeFirstN(String s, int n)
          return the first n characters of the passed String, left padding where required with 0
static String ISOUtil.takeLastN(String s, int n)
          return the last n characters of the passed String, left padding where required with 0
 String Interpreter.uninterpret(byte[] rawData, int offset, int length)
          Converts the byte array into a String.
abstract  int ISOComponent.unpack(byte[] b)
           
 int ISOField.unpack(byte[] b)
          not available on Leaf - always throw ISOException
 int ISOBitMap.unpack(byte[] b)
          not available on Leaf - always throw ISOException
 int ISOBinaryField.unpack(byte[] b)
          not available on Leaf - always throw ISOException
 int ISOAmount.unpack(byte[] b)
           
 int FSDISOMsg.unpack(byte[] b)
           
 int ISOMsg.unpack(byte[] b)
          unpack a message
abstract  void ISOComponent.unpack(InputStream in)
           
 void ISOField.unpack(InputStream in)
          not available on Leaf - always throw ISOException
 void ISOBitMap.unpack(InputStream in)
          not available on Leaf - always throw ISOException
 void ISOBinaryField.unpack(InputStream in)
          not available on Leaf - always throw ISOException
 void ISOAmount.unpack(InputStream in)
           
 void FSDISOMsg.unpack(InputStream in)
           
 void ISOMsg.unpack(InputStream in)
           
 int ISOPackager.unpack(ISOComponent m, byte[] b)
           
 int ISOBasePackager.unpack(ISOComponent m, byte[] b)
           
 int ISOAmountFieldPackager.unpack(ISOComponent c, byte[] b, int offset)
          Unpacks the byte array into the component.
 int IFB_LLHFBINARY.unpack(ISOComponent c, byte[] b, int offset)
           
 int X92_BITMAP.unpack(ISOComponent c, byte[] b, int offset)
           
 int ISOFilledStringFieldPackager.unpack(ISOComponent c, byte[] b, int offset)
          Unpacks the byte array into the component.
 int IFE_BITMAP.unpack(ISOComponent c, byte[] b, int offset)
           
 int IF_ECHAR.unpack(ISOComponent c, byte[] b, int offset)
          Deprecated.  
 int IFB_BITMAP.unpack(ISOComponent c, byte[] b, int offset)
           
 int IFA_LLLABINARY.unpack(ISOComponent c, byte[] b, int offset)
           
 int IFEB_LLNUM.unpack(ISOComponent c, byte[] b, int offset)
           
abstract  int ISOFieldPackager.unpack(ISOComponent c, byte[] b, int offset)
           
 int IFEP_LLCHAR.unpack(ISOComponent c, byte[] b, int offset)
           
 int ISOTagStringFieldPackager.unpack(ISOComponent c, byte[] b, int offset)
          Unpacks the byte array into the component.
 int IFIPM_LLLCHAR.unpack(ISOComponent c, byte[] b, int offset)
           
 int IFA_LLBNUM.unpack(ISOComponent c, byte[] b, int offset)
           
 int ISOStringFieldPackager.unpack(ISOComponent c, byte[] b, int offset)
          Unpacks the byte array into the component.
 int ISOBinaryFieldPackager.unpack(ISOComponent c, byte[] b, int offset)
           
 int IFA_BITMAP.unpack(ISOComponent c, byte[] b, int offset)
           
 int IF_UNUSED.unpack(ISOComponent c, byte[] b, int offset)
           
 int IFB_AMOUNT.unpack(ISOComponent c, byte[] b, int offset)
           
 int IFEB_LLLNUM.unpack(ISOComponent c, byte[] b, int offset)
           
 int IFA_LLABINARY.unpack(ISOComponent c, byte[] b, int offset)
           
 int ISOMsgFieldPackager.unpack(ISOComponent c, byte[] b, int offset)
           
 int IF_TCHAR.unpack(ISOComponent c, byte[] b, int offset)
           
 int ISOTagBinaryFieldPackager.unpack(ISOComponent c, byte[] b, int offset)
          Unpacks the byte array into the component.
 void ISOAmountFieldPackager.unpack(ISOComponent c, InputStream in)
          Unpack the input stream into the component.
 void IFB_LLHFBINARY.unpack(ISOComponent c, InputStream in)
           
 void ISOFilledStringFieldPackager.unpack(ISOComponent c, InputStream in)
          Unpack the input stream into the component.
 void ISOPackager.unpack(ISOComponent m, InputStream in)
           
 void IFE_BITMAP.unpack(ISOComponent c, InputStream in)
           
 void IFB_BITMAP.unpack(ISOComponent c, InputStream in)
           
 void ISOBasePackager.unpack(ISOComponent m, InputStream in)
           
 void IFA_LLLABINARY.unpack(ISOComponent c, InputStream in)
           
 void IFEB_LLNUM.unpack(ISOComponent c, InputStream in)
           
 void ISOFieldPackager.unpack(ISOComponent c, InputStream in)
           
 void IFEP_LLCHAR.unpack(ISOComponent c, InputStream in)
           
 void ISOTagStringFieldPackager.unpack(ISOComponent c, InputStream in)
          Unpack the input stream into the component.
 void IFIPM_LLLCHAR.unpack(ISOComponent c, InputStream in)
           
 void IFA_LLBNUM.unpack(ISOComponent c, InputStream in)
           
 void ISOStringFieldPackager.unpack(ISOComponent c, InputStream in)
          Unpack the input stream into the component.
 void ISOBinaryFieldPackager.unpack(ISOComponent c, InputStream in)
          Unpack from an input stream
 void IFA_BITMAP.unpack(ISOComponent c, InputStream in)
           
 void IFA_LLABINARY.unpack(ISOComponent c, InputStream in)
           
 void ISOMsgFieldPackager.unpack(ISOComponent c, InputStream in)
           
 void ISOTagBinaryFieldPackager.unpack(ISOComponent c, InputStream in)
          Unpack the input stream into the component.
protected  void BaseChannel.unpack(ISOMsg m, byte[] b)
           
 String Padder.unpad(String paddedData)
          Removes the padding from a padded string.
 void ISOComponent.unset(int fldno)
          Unset a field
 void ISOMsg.unset(String fpath)
          Unset a field referenced by a fpath if it exists, otherwise ignore.
 ISOComponent ISOValidator.validate(ISOComponent m)
          Validate an ISOComponent.
 ISOComponent IVA_ALPHANUMNOZERO_NOBLANK.validate(ISOComponent f)
          Validate that the component is not blank-filled.
 ISOComponent IVA_NUM.validate(ISOComponent f)
          Validate numeric condition.
 ISOComponent IVA_ALPHANUM.validate(ISOComponent f)
          Validate that component has alphanumeric value.
 ISOComponent IVA_ALPHANUMNOBLANK.validate(ISOComponent f)
          Validate that component is not blank-filled.
 ISOComponent ISOMsgFieldValidator.validate(ISOComponent m)
           
 ISOComponent IVA_NUMNOZERO.validate(ISOComponent f)
          Validate that component is not zero-filled.
 ISOComponent ISOFieldValidator.validate(ISOComponent c)
          Validate a field component.
 ISOComponent IVA_ALPHANUMNOZERO.validate(ISOComponent f)
          Validate that the component is not zero-filled.
 ISOComponent ISOBaseValidator.validate(ISOComponent m)
          Validate field-interdependency.
static String ISOUtil.zeropad(String s, int len)
          left pad with '0'
 

Uses of ISOException in org.jpos.iso.channel
 

Methods in org.jpos.iso.channel that throw ISOException
protected  void GZIPChannel.getMessage(byte[] b, int offset, int len)
           
protected  int VAPChannel.getMessageLength()
           
protected  int AmexChannel.getMessageLength()
           
protected  int FSDChannel.getMessageLength()
           
protected  int GZIPChannel.getMessageLength()
           
protected  int BCDChannel.getMessageLength()
           
protected  int BASE24TCPChannel.getMessageLength()
           
protected  int HEXChannel.getMessageLength()
           
protected  int PostChannel.getMessageLength()
           
protected  int RawChannel.getMessageLength()
           
protected  int ASCIIChannel.getMessageLength()
           
protected  int CSChannel.getMessageLength()
           
protected  int NACChannel.getMessageLength()
           
protected  int NCCChannel.getMessageLength()
           
protected  int RBPChannel.getMessageLength()
           
 ISOMsg LoopbackChannel.receive()
           
 ISOMsg ChannelPool.receive()
           
 ISOMsg PADChannel.receive()
           
 void LoopbackChannel.send(byte[] b)
           
 void ChannelPool.send(byte[] b)
           
 void VAPChannel.send(ISOMsg m)
          sends an ISOMsg over the TCP/IP session.
 void LoopbackChannel.send(ISOMsg m)
           
 void ChannelPool.send(ISOMsg m)
           
 

Uses of ISOException in org.jpos.iso.filter
 

Constructors in org.jpos.iso.filter that throw ISOException
XSLTFilter()
          Default noargs constructor
XSLTFilter(String xsltfile, boolean reread)
           
 

Uses of ISOException in org.jpos.iso.packager
 

Methods in org.jpos.iso.packager that throw ISOException
protected  int VISA1Packager.handleSpecialField35(ISOMsg m, List l)
           
 byte[] FSDPackager.pack(ISOComponent m)
           
 byte[] EuroSubFieldPackager.pack(ISOComponent c)
           
 byte[] CTCSubElementPackager.pack(ISOComponent c)
           
 byte[] XML2003Packager.pack(ISOComponent c)
           
 byte[] VISA1Packager.pack(ISOComponent c)
           
abstract  byte[] PackagerWrapper.pack(ISOComponent c)
           
 byte[] Base1SubFieldPackager.pack(ISOComponent m)
          Pack the subfield into a byte array
 byte[] XMLPackager.pack(ISOComponent c)
           
 byte[] GenericSubFieldPackager.pack(ISOComponent m)
          Pack the subfield into a byte array
 byte[] DummyPackager.pack(ISOComponent m)
           
 byte[] LogPackager.pack(ISOComponent c)
           
 byte[] CTCSubFieldPackager.pack(ISOComponent c)
           
 byte[] Base1_BITMAP126.pack(ISOComponent c)
           
 void GenericPackager.readFile(InputStream input)
          Parse the field descriptions from an XML InputStream.
 void GenericValidatingPackager.readFile(String filename)
          It define GenericValidatorContentHandler like handler.
 void GenericPackager.readFile(String filename)
          Parse the field descriptions from an XML file.
 int FSDPackager.unpack(ISOComponent m, byte[] b)
           
 int EuroSubFieldPackager.unpack(ISOComponent m, byte[] b)
           
 int CTCSubElementPackager.unpack(ISOComponent m, byte[] b)
           
 int XML2003Packager.unpack(ISOComponent c, byte[] b)
           
 int VISA1Packager.unpack(ISOComponent m, byte[] b)
           
abstract  int PackagerWrapper.unpack(ISOComponent c, byte[] b)
           
 int Base1SubFieldPackager.unpack(ISOComponent m, byte[] b)
          Unpack a packed subfield into its corresponding ISOComponent
 int XMLPackager.unpack(ISOComponent c, byte[] b)
           
 int GenericSubFieldPackager.unpack(ISOComponent m, byte[] b)
           
 int DummyPackager.unpack(ISOComponent m, byte[] b)
           
 int LogPackager.unpack(ISOComponent c, byte[] b)
           
 int CTCSubFieldPackager.unpack(ISOComponent m, byte[] b)
           
 int Base1_BITMAP126.unpack(ISOComponent c, byte[] b, int offset)
           
 void FSDPackager.unpack(ISOComponent m, InputStream in)
           
 void XML2003Packager.unpack(ISOComponent c, InputStream in)
           
 void VISA1Packager.unpack(ISOComponent m, InputStream in)
           
 void XMLPackager.unpack(ISOComponent c, InputStream in)
           
 void DummyPackager.unpack(ISOComponent m, InputStream in)
           
 void LogPackager.unpack(ISOComponent c, InputStream in)
           
 ISOComponent ISOMsgFieldValidatingPackager.validate(ISOComponent m)
           
 ISOComponent ISOBaseValidatingPackager.validate(ISOComponent m)
           
 ISOComponent CTCSubElementPackager.validate(ISOComponent c)
           
 ISOComponent GenericValidatingPackager.validate(ISOComponent m)
           
 ISOComponent CTCSubFieldPackager.validate(ISOComponent c)
           
 

Constructors in org.jpos.iso.packager that throw ISOException
GenericPackager()
           
GenericPackager(InputStream input)
          Create a GenericPackager with the field descriptions from an XML InputStream
GenericPackager(String filename)
          Create a GenericPackager with the field descriptions from an XML File
GenericSubFieldPackager()
           
GenericValidatingPackager()
           
GenericValidatingPackager(InputStream stream)
           
GenericValidatingPackager(String fileName)
           
LogPackager()
           
X92GenericPackager()
           
X92GenericPackager(InputStream stream)
           
X92GenericPackager(String filename)
           
XML2003Packager()
           
XMLPackager()
           
 

Uses of ISOException in org.jpos.iso.validator
 

Subclasses of ISOException in org.jpos.iso.validator
 class ISOVException
          This type of exception is raised while validating jPOS ISOComponents.
 

Methods in org.jpos.iso.validator that throw ISOException
 ISOComponent MSGTEST.validate(ISOComponent m)
           
 ISOComponent TEST0100.validate(ISOComponent m)
           
 ISOComponent MSGTEST02.validate(ISOComponent m)
           
 

Uses of ISOException in org.jpos.q2
 

Methods in org.jpos.q2 that throw ISOException
 void Q2.deployElement(org.jdom.Element e, String fileName, boolean encrypt, boolean isTransient)
           
 

Uses of ISOException in org.jpos.q2.iso
 

Methods in org.jpos.q2.iso that throw ISOException
 String QMUX.getKey(ISOMsg m)
           
 ISOMsg MUXPool.request(ISOMsg m, long timeout)
           
 ISOMsg RemoteQMUX.request(ISOMsg m, long timeout)
           
 ISOMsg QMUXProxy.request(ISOMsg m, long timeout)
           
 ISOMsg QMUX.request(ISOMsg m, long timeout)
           
 void MUXPool.request(ISOMsg m, long timeout, ISOResponseListener r, Object handBack)
           
 void RemoteQMUX.request(ISOMsg m, long timeout, ISOResponseListener r, Object handBack)
           
 void QMUXProxy.request(ISOMsg m, long timeout, ISOResponseListener rl, Object handBack)
           
 void QMUX.request(ISOMsg m, long timeout, ISOResponseListener rl, Object handBack)
           
 void QMUX.send(ISOMsg m)
          sends (or hands back) an ISOMsg
 

Uses of ISOException in org.jpos.security
 

Subclasses of ISOException in org.jpos.security
static class SecureKeyStore.SecureKeyStoreException
           
 class SMException
          Signals that a Security Module exception of some sort has occurred.
 class WeakPINException
          Signals that a Weak PIN exception has occurred.
 

Uses of ISOException in org.jpos.security.jceadapter
 

Subclasses of ISOException in org.jpos.security.jceadapter
 class JCEHandlerException
           
 

Uses of ISOException in org.jpos.tlv
 

Methods in org.jpos.tlv that throw ISOException
 void TLVList.unpack(byte[] buf)
          unpack a message
 void TLVList.unpack(byte[] buf, int offset)
          unpack a message with a starting offset
 

Uses of ISOException in org.jpos.util
 

Subclasses of ISOException in org.jpos.util
static class DirPoll.DirPollException
           
 

Methods in org.jpos.util that throw ISOException
protected  String FSDMsg.get(String id, String type, int length, String defValue, String separator)
           
 String FSDMsg.pack()
           
protected  void FSDMsg.pack(org.jdom.Element schema, StringBuffer sb)
           
 byte[] FSDMsg.packToBytes()
           
 



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