jPOS 1.6.1 API Documentation

org.jpos.core
Class CardHolder

java.lang.Object
  extended by org.jpos.core.CardHolder
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Loggeable

public class CardHolder
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable, Loggeable

Since:
jPOS 1.1 represents a CardHolder
Version:
$Id: CardHolder.java 2594 2008-01-22 16:41:31Z apr $
Author:
apr@cs.com.uy
See Also:
Serialized Form

Constructor Summary
CardHolder()
          creates an empty CardHolder
CardHolder(ISOMsg m)
          Construct a CardHolder based on content received on field 35 (track2) or field 2 (PAN) + field 14 (EXP)
CardHolder(java.lang.String track2)
          creates a new CardHolder based on track2
CardHolder(java.lang.String pan, java.lang.String exp)
          creates a new CardHolder based on pan and exp
 
Method Summary
 void dump(java.io.PrintStream p, java.lang.String indent)
          dumps CardHolder basic information
by default we do not dump neither track1/2 nor securityCode for security reasons.
 boolean equals(java.lang.Object obj)
          compares two cardholder object
based on PAN and EXP
 java.lang.String getBIN()
          Get Bank Issuer Number
 java.lang.String getEXP()
          Get Expiration Date
 java.lang.String getNameOnCard()
           
 java.lang.String getPAN()
           
 java.lang.String getSecurityCode()
           
 java.lang.String getServiceCode()
           
 java.lang.String getTrack1()
           
 java.lang.String getTrack2()
           
 java.lang.String getTrailler()
           
 boolean hasSecurityCode()
           
 boolean hasTrack1()
           
 boolean hasTrack2()
           
 boolean isExpired()
          Y2K compliant expiration check
 boolean isValidCRC()
           
static boolean isValidCRC(java.lang.String p)
           
 void parseTrack2(java.lang.String s)
          extract pan/exp/trailler from track2
 boolean seemsManualEntry()
           
 void setEXP(java.lang.String exp)
          Set Expiration Date
 void setPAN(java.lang.String pan)
          Sets Primary Account Number
 void setSecurityCode(java.lang.String securityCode)
          assigns securityCode to this CardHolder object
 void setTrack1(java.lang.String track1)
           
 void setTrailler(java.lang.String trailler)
          Set Trailler (used by OR-mapping stuff)
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CardHolder

public CardHolder()
creates an empty CardHolder


CardHolder

public CardHolder(java.lang.String track2)
           throws InvalidCardException
creates a new CardHolder based on track2

Parameters:
track2 - cards track2
Throws:
InvalidCardException

CardHolder

public CardHolder(java.lang.String pan,
                  java.lang.String exp)
           throws InvalidCardException
creates a new CardHolder based on pan and exp

Parameters:
track2 - cards track2
Throws:
InvalidCardException

CardHolder

public CardHolder(ISOMsg m)
           throws InvalidCardException
Construct a CardHolder based on content received on field 35 (track2) or field 2 (PAN) + field 14 (EXP)

Parameters:
m - an ISOMsg
Throws:
InvalidCardException
Method Detail

parseTrack2

public void parseTrack2(java.lang.String s)
                 throws InvalidCardException
extract pan/exp/trailler from track2

Parameters:
s - a valid track2
Throws:
InvalidCardException

setTrack1

public void setTrack1(java.lang.String track1)
Parameters:
track1 - card's track1

getTrack1

public java.lang.String getTrack1()
Returns:
the track1

hasTrack1

public boolean hasTrack1()
Returns:
true if we have a track1

getNameOnCard

public java.lang.String getNameOnCard()
Returns:
the Name written on the card (from track1)

getTrack2

public java.lang.String getTrack2()
Returns:
reconstructed track2 or null

hasTrack2

public boolean hasTrack2()
Returns:
true if we have a (may be valid) track2

setSecurityCode

public void setSecurityCode(java.lang.String securityCode)
assigns securityCode to this CardHolder object

Parameters:
securityCode -

getSecurityCode

public java.lang.String getSecurityCode()
Returns:
securityCode (or null)

hasSecurityCode

public boolean hasSecurityCode()
Returns:
true if we have a security code

getTrailler

public java.lang.String getTrailler()
Returns:
trailler (may be null)

setTrailler

public void setTrailler(java.lang.String trailler)
Set Trailler (used by OR-mapping stuff)

Parameters:
trailler -

setPAN

public void setPAN(java.lang.String pan)
            throws InvalidCardException
Sets Primary Account Number

Parameters:
pan -
Throws:
InvalidCardException

getPAN

public java.lang.String getPAN()
Returns:
Primary Account Number

getBIN

public java.lang.String getBIN()
Get Bank Issuer Number

Returns:
bank issuer number

setEXP

public void setEXP(java.lang.String exp)
            throws InvalidCardException
Set Expiration Date

Parameters:
exp - card expiration date
Throws:
InvalidCardException

getEXP

public java.lang.String getEXP()
Get Expiration Date

Returns:
card expiration date

isExpired

public boolean isExpired()
Y2K compliant expiration check

Returns:
true if card is expired (or invalid exp)

isValidCRC

public boolean isValidCRC()

isValidCRC

public static boolean isValidCRC(java.lang.String p)

dump

public void dump(java.io.PrintStream p,
                 java.lang.String indent)
dumps CardHolder basic information
by default we do not dump neither track1/2 nor securityCode for security reasons.

Specified by:
dump in interface Loggeable
Parameters:
p - a PrintStream usually suplied by Logger
indent - ditto
See Also:
Loggeable

getServiceCode

public java.lang.String getServiceCode()
Returns:
ServiceCode (if available) or a String with three blanks

seemsManualEntry

public boolean seemsManualEntry()

equals

public boolean equals(java.lang.Object obj)
compares two cardholder object
based on PAN and EXP

Overrides:
equals in class java.lang.Object
Parameters:
obj - a CardHolder instance
Returns:
true if pan and exp matches

jPOS.org