public class MRZInfo
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
DOC_TYPE_ID1
ID1 document type for credit card sized identity cards.
|
static int |
DOC_TYPE_ID2
ID2 document type.
|
static int |
DOC_TYPE_ID3
ID3 document type for passport booklets.
|
static int |
DOC_TYPE_UNSPECIFIED
Unspecified document type (do not use, choose ID1 or ID3).
|
Constructor and Description |
---|
MRZInfo(java.io.InputStream inputStream,
int length)
Creates a new MRZ based on an input stream.
|
MRZInfo(java.lang.String str)
Creates a new MRZ based on the text input.
|
MRZInfo(java.lang.String documentCode,
java.lang.String issuingState,
java.lang.String documentNumber,
java.lang.String optionalData1,
java.lang.String dateOfBirth,
net.sf.scuba.data.Gender gender,
java.lang.String dateOfExpiry,
java.lang.String nationality,
java.lang.String optionalData2,
java.lang.String primaryIdentifier,
java.lang.String secondaryIdentifier)
Creates a new 3-line MRZ compliant with ICAO Doc 9303 part 3 vol 1.
|
MRZInfo(java.lang.String documentCode,
java.lang.String issuingState,
java.lang.String primaryIdentifier,
java.lang.String secondaryIdentifier,
java.lang.String documentNumber,
java.lang.String nationality,
java.lang.String dateOfBirth,
net.sf.scuba.data.Gender gender,
java.lang.String dateOfExpiry,
java.lang.String personalNumber)
Creates a new 2-line MRZ compliant with ICAO Doc 9303 part 1 vol 1.
|
Modifier and Type | Method and Description |
---|---|
static char |
checkDigit(java.lang.String str)
Computes the 7-3-1 check digit for part of the MRZ.
|
boolean |
equals(java.lang.Object obj)
Whether this MRZ info is identical to the other one.
|
static boolean |
equalsModuloFillerChars(java.lang.String str1,
java.lang.String str2)
Tests equality of two MRZ string while ignoring extra filler characters.
|
java.lang.String |
getDateOfBirth()
Gets the date of birth of the passport holder.
|
java.lang.String |
getDateOfExpiry()
Gets the date of expiry
|
java.lang.String |
getDocumentCode()
Gets the document type.
|
java.lang.String |
getDocumentNumber()
Gets the document number.
|
int |
getDocumentType()
Gets the document type.
|
byte[] |
getEncoded()
Gets the encoded contents of this LDS info.
|
net.sf.scuba.data.Gender |
getGender()
Gets the passport holder's gender.
|
java.lang.String |
getIssuingState()
Gets the issuing state as a 3 letter code
|
java.lang.String |
getNationality()
Gets the passport holder's nationality as a 3 digit code.
|
java.lang.String |
getOptionalData1()
Gets the contents of the first optional data field for ID-1 and ID-3 style MRZs.
|
java.lang.String |
getOptionalData2()
Gets the contents of the second optional data field for ID-1 style MRZs.
|
java.lang.String |
getPersonalNumber()
Gets the personal number (if a personal number is encoded in optional data 1).
|
java.lang.String |
getPrimaryIdentifier()
Gets the passport holder's last name.
|
java.lang.String |
getSecondaryIdentifier()
Gets the document holder's first names.
|
java.lang.String[] |
getSecondaryIdentifierComponents()
Gets the document holder's first names.
|
int |
hashCode()
Gets a hash code for this MRZ info.
|
void |
setDateOfBirth(java.lang.String dateOfBirth)
Sets the date of birth.
|
void |
setDateOfExpiry(java.lang.String dateOfExpiry)
Sets the date of expiry.
|
void |
setDocumentCode(java.lang.String documentCode) |
void |
setDocumentNumber(java.lang.String documentNumber)
Sets the document number.
|
void |
setGender(net.sf.scuba.data.Gender gender)
Sets the gender.
|
void |
setIssuingState(java.lang.String issuingState)
Sets the issuing state.
|
void |
setNationality(java.lang.String nationality)
Sets the passport holder's nationality.
|
void |
setOptionalData2(java.lang.String optionalData2)
Sets the contents for the second optional data field for ID-1 style MRZs.
|
void |
setPersonalNumber(java.lang.String personalNumber)
Sets the personal number.
|
void |
setPrimaryIdentifier(java.lang.String primaryIdentifier)
Sets the passport holder's last name.
|
void |
setSecondaryIdentifierComponents(java.lang.String[] secondaryIdentifiers)
Sets the passport holder's first names.
|
void |
setSecondaryIdentifiers(java.lang.String secondaryIdentifiers)
Sets the passport holder's first names.
|
java.lang.String |
toString()
Creates a textual representation of this MRZ.
|
void |
writeObject(java.io.OutputStream outputStream)
Writes the MRZ to an output stream.
|
public static final int DOC_TYPE_UNSPECIFIED
public static final int DOC_TYPE_ID1
public static final int DOC_TYPE_ID2
public static final int DOC_TYPE_ID3
public MRZInfo(java.lang.String documentCode, java.lang.String issuingState, java.lang.String primaryIdentifier, java.lang.String secondaryIdentifier, java.lang.String documentNumber, java.lang.String nationality, java.lang.String dateOfBirth, net.sf.scuba.data.Gender gender, java.lang.String dateOfExpiry, java.lang.String personalNumber)
documentCode
- document code (1 or 2 digit, has to start with "P" or "V")issuingState
- issuing state as 3 digit stringprimaryIdentifier
- card holder last namesecondaryIdentifier
- card holder first name(s)documentNumber
- document numbernationality
- nationality as 3 digit stringdateOfBirth
- date of birthgender
- genderdateOfExpiry
- date of expirypersonalNumber
- either empty, or a personal number of maximum length 14, or other optional data of exact length 15public MRZInfo(java.lang.String documentCode, java.lang.String issuingState, java.lang.String documentNumber, java.lang.String optionalData1, java.lang.String dateOfBirth, net.sf.scuba.data.Gender gender, java.lang.String dateOfExpiry, java.lang.String nationality, java.lang.String optionalData2, java.lang.String primaryIdentifier, java.lang.String secondaryIdentifier)
documentCode
- document code (1 or 2 digit, has to start with "I", "C", or "A")issuingState
- issuing state as 3 digit stringprimaryIdentifier
- card holder last namesecondaryIdentifier
- card holder first name(s)documentNumber
- document numbernationality
- nationality as 3 digit stringdateOfBirth
- date of birth in YYMMDD formatgender
- genderdateOfExpiry
- date of expiry in YYMMDD formatoptionalData1
- optional data in line 1 of maximum length 15optionalData2
- optional data in line 2 of maximum length 11public MRZInfo(java.io.InputStream inputStream, int length)
inputStream
- contains the contents (value) of DG1 (without the tag and length)length
- the length of the MRZInfo structurepublic MRZInfo(java.lang.String str)
str
- input textpublic void writeObject(java.io.OutputStream outputStream) throws java.io.IOException
outputStream
- the output stream to write tojava.io.IOException
public java.lang.String getDateOfBirth()
public void setDateOfBirth(java.lang.String dateOfBirth)
dateOfBirth
- new date of birthpublic java.lang.String getDateOfExpiry()
public void setDateOfExpiry(java.lang.String dateOfExpiry)
dateOfExpiry
- new date of expirypublic java.lang.String getDocumentNumber()
public void setDocumentNumber(java.lang.String documentNumber)
documentNumber
- new document numberpublic int getDocumentType()
public java.lang.String getDocumentCode()
public void setDocumentCode(java.lang.String documentCode)
public java.lang.String getIssuingState()
public void setIssuingState(java.lang.String issuingState)
issuingState
- new issuing statepublic java.lang.String getPrimaryIdentifier()
public void setPrimaryIdentifier(java.lang.String primaryIdentifier)
primaryIdentifier
- new primary identifierpublic java.lang.String getSecondaryIdentifier()
public java.lang.String[] getSecondaryIdentifierComponents()
public void setSecondaryIdentifierComponents(java.lang.String[] secondaryIdentifiers)
secondaryIdentifiers
- new secondary identifierspublic void setSecondaryIdentifiers(java.lang.String secondaryIdentifiers)
secondaryIdentifiers
- new secondary identifierspublic java.lang.String getNationality()
public void setNationality(java.lang.String nationality)
nationality
- new nationalitypublic java.lang.String getPersonalNumber()
public void setPersonalNumber(java.lang.String personalNumber)
personalNumber
- new personal numberpublic java.lang.String getOptionalData1()
public java.lang.String getOptionalData2()
public void setOptionalData2(java.lang.String optionalData2)
optionalData2
- optional data 2public net.sf.scuba.data.Gender getGender()
public void setGender(net.sf.scuba.data.Gender gender)
gender
- new genderpublic java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public static char checkDigit(java.lang.String str)
str
- a part of the MRZ.public static boolean equalsModuloFillerChars(java.lang.String str1, java.lang.String str2)
str1
- an MRZ stringstr2
- another MRZ stringpublic byte[] getEncoded()
LDSElement
getEncoded
in interface LDSElement