public class MRZInfo extends AbstractLDSInfo
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(InputStream inputStream,
int length)
Creates a new MRZ based on an input stream.
|
MRZInfo(String str)
Creates a new MRZ based on the text input.
|
MRZInfo(String documentCode,
String issuingState,
String documentNumber,
String optionalData1,
String dateOfBirth,
net.sf.scuba.data.Gender gender,
String dateOfExpiry,
String nationality,
String optionalData2,
String primaryIdentifier,
String secondaryIdentifier)
Creates a new 3-line MRZ compliant with ICAO Doc 9303 part 3 vol 1.
|
MRZInfo(String documentCode,
String issuingState,
String primaryIdentifier,
String secondaryIdentifier,
String documentNumber,
String nationality,
String dateOfBirth,
net.sf.scuba.data.Gender gender,
String dateOfExpiry,
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(String str)
Computes the 7-3-1 check digit for part of the MRZ.
|
boolean |
equals(Object obj)
Whether this MRZ info is identical to some other object.
|
static boolean |
equalsModuloFillerChars(String str1,
String str2)
Tests equality of two MRZ string while ignoring extra filler characters.
|
String |
getDateOfBirth()
Returns the date of birth of the passport holder.
|
String |
getDateOfExpiry()
Returns the date of expiry.
|
String |
getDocumentCode()
Returns the document type.
|
String |
getDocumentNumber()
Returns the document number.
|
int |
getDocumentType()
Returns the document type.
|
net.sf.scuba.data.Gender |
getGender()
Returns the passport holder's gender.
|
String |
getIssuingState()
Returns the issuing state as a 3 letter code.
|
String |
getNationality()
Returns the passport holder's nationality as a 3 digit code.
|
String |
getOptionalData1()
Returns the contents of the first optional data field for ID-1 and ID-3 style MRZs.
|
String |
getOptionalData2()
Returns the contents of the second optional data field for ID-1 style MRZs.
|
String |
getPersonalNumber()
Returns the personal number (if a personal number is encoded in optional data 1).
|
String |
getPrimaryIdentifier()
Returns the passport holder's last name.
|
String |
getSecondaryIdentifier()
Returns the document holder's first names.
|
String[] |
getSecondaryIdentifierComponents()
Returns the document holder's first names.
|
int |
hashCode()
Returns the hash code for this MRZ info.
|
void |
setDateOfBirth(String dateOfBirth)
Sets the date of birth.
|
void |
setDateOfExpiry(String dateOfExpiry)
Sets the date of expiry.
|
void |
setDocumentCode(String documentCode)
Sets the document code.
|
void |
setDocumentNumber(String documentNumber)
Sets the document number.
|
void |
setGender(net.sf.scuba.data.Gender gender)
Sets the gender.
|
void |
setIssuingState(String issuingState)
Sets the issuing state.
|
void |
setNationality(String nationality)
Sets the passport holder's nationality.
|
void |
setOptionalData2(String optionalData2)
Sets the contents for the second optional data field for ID-1 style MRZs.
|
void |
setPersonalNumber(String personalNumber)
Sets the personal number.
|
void |
setPrimaryIdentifier(String primaryIdentifier)
Sets the passport holder's last name.
|
void |
setSecondaryIdentifierComponents(String[] secondaryIdentifiers)
Sets the passport holder's first names.
|
void |
setSecondaryIdentifiers(String secondaryIdentifiers)
Sets the passport holder's first names.
|
String |
toString()
Creates a textual representation of this MRZ.
|
void |
writeObject(OutputStream outputStream)
Writes the MRZ to an output stream.
|
getEncoded
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(String documentCode, String issuingState, String primaryIdentifier, String secondaryIdentifier, String documentNumber, String nationality, String dateOfBirth, net.sf.scuba.data.Gender gender, String dateOfExpiry, 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(String documentCode, String issuingState, String documentNumber, String optionalData1, String dateOfBirth, net.sf.scuba.data.Gender gender, String dateOfExpiry, String nationality, String optionalData2, String primaryIdentifier, 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(InputStream inputStream, int length)
inputStream
- contains the contents (value) of DG1 (without the tag and length)length
- the length of the MRZInfo structurepublic MRZInfo(String str)
str
- input textpublic void writeObject(OutputStream outputStream) throws IOException
writeObject
in class AbstractLDSInfo
outputStream
- the output stream to write toIOException
- on error writing to the streampublic String getDateOfBirth()
public void setDateOfBirth(String dateOfBirth)
dateOfBirth
- new date of birthpublic String getDateOfExpiry()
public void setDateOfExpiry(String dateOfExpiry)
dateOfExpiry
- new date of expirypublic String getDocumentNumber()
public void setDocumentNumber(String documentNumber)
documentNumber
- new document numberpublic int getDocumentType()
public String getDocumentCode()
public void setDocumentCode(String documentCode)
documentCode
- the new document codepublic String getIssuingState()
public void setIssuingState(String issuingState)
issuingState
- new issuing statepublic String getPrimaryIdentifier()
public void setPrimaryIdentifier(String primaryIdentifier)
primaryIdentifier
- new primary identifierpublic String getSecondaryIdentifier()
public String[] getSecondaryIdentifierComponents()
public void setSecondaryIdentifierComponents(String[] secondaryIdentifiers)
secondaryIdentifiers
- new secondary identifierspublic void setSecondaryIdentifiers(String secondaryIdentifiers)
secondaryIdentifiers
- new secondary identifierspublic String getNationality()
public void setNationality(String nationality)
nationality
- new nationalitypublic String getPersonalNumber()
public void setPersonalNumber(String personalNumber)
personalNumber
- new personal numberpublic String getOptionalData1()
public String getOptionalData2()
public void setOptionalData2(String optionalData2)
optionalData2
- optional data 2public net.sf.scuba.data.Gender getGender()
public void setGender(net.sf.scuba.data.Gender gender)
gender
- new genderpublic String toString()
toString
in class Object
Object.toString()
public int hashCode()
public boolean equals(Object obj)
public static char checkDigit(String str)
str
- a part of the MRZ.public static boolean equalsModuloFillerChars(String str1, String str2)
str1
- an MRZ stringstr2
- another MRZ stringCopyright © 2019. All rights reserved.