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)
Deprecated.
Use the corresponding factory method
createTD3MRZInfo(String, String, String, String, String, String, String, Gender, String, String) |
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)
Deprecated.
Use the corresponding factory method
createTD1MRZInfo(String, String, String, String, String, Gender, String, String, String, String, String) |
Modifier and Type | Method and Description |
---|---|
static char |
checkDigit(String str)
Computes the 7-3-1 check digit for part of the MRZ.
|
static MRZInfo |
createMRVAMRZInfo(String documentCode,
String issuingState,
String primaryIdentifier,
String secondaryIdentifier,
String documentNumber,
String nationality,
String dateOfBirth,
net.sf.scuba.data.Gender gender,
String dateOfExpiry,
String optionalData)
Creates a new 2-line, 44 character (MRV-A) MRZ compliant with ICAO Doc 9303 (seventh edition) part 7.
|
static MRZInfo |
createMRVBMRZInfo(String documentCode,
String issuingState,
String primaryIdentifier,
String secondaryIdentifier,
String documentNumber,
String nationality,
String dateOfBirth,
net.sf.scuba.data.Gender gender,
String dateOfExpiry,
String optionalData)
Creates a new 2-line, 36 character (MRV-B) MRZ compliant with ICAO Doc 9303 (seventh edition) part 7.
|
static MRZInfo |
createTD1MRZInfo(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, 30 character (TD1) MRZ compliant with ICAO Doc 9303 (seventh edition) part 5.
|
static MRZInfo |
createTD2MRZInfo(String documentCode,
String issuingState,
String primaryIdentifier,
String secondaryIdentifier,
String documentNumber,
String nationality,
String dateOfBirth,
net.sf.scuba.data.Gender gender,
String dateOfExpiry,
String optionalData)
Creates a new 2-line, 36 character (TD2) MRZ compliant with ICAO Doc 9303 (seventh edition) part 6.
|
static MRZInfo |
createTD3MRZInfo(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, 44 character (TD3) MRZ compliant with ICAO Doc 9303 (seventh edition) part 4.
|
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()
Deprecated.
Clients should determine type based on
getDocumentCode() |
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)
Deprecated.
Class will become immutable
|
void |
setDateOfExpiry(String dateOfExpiry)
Deprecated.
Class will become immutable
|
void |
setDocumentCode(String documentCode)
Deprecated.
Class will become immutable
|
void |
setDocumentNumber(String documentNumber)
Deprecated.
Class will become immutable
|
void |
setGender(net.sf.scuba.data.Gender gender)
Deprecated.
Class will become immutable
|
void |
setIssuingState(String issuingState)
Deprecated.
Class will become immutable
|
void |
setNationality(String nationality)
Deprecated.
Class will become immutable
|
void |
setOptionalData2(String optionalData2)
Deprecated.
Class will become immutable
|
void |
setPersonalNumber(String personalNumber)
Deprecated.
Class will become immutable
|
void |
setPrimaryIdentifier(String primaryIdentifier)
Deprecated.
Class will become immutable
|
void |
setSecondaryIdentifierComponents(String[] secondaryIdentifiers)
Deprecated.
Class will become immutable
|
void |
setSecondaryIdentifiers(String secondaryIdentifiers)
Deprecated.
Class will become immutable
|
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
@Deprecated 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)
createTD1MRZInfo(String, String, String, String, String, Gender, String, String, String, String, String)
documentCode
- document code (1 or 2 digit, has to start with "P" or "V")issuingState
- issuing state as 3 alpha stringprimaryIdentifier
- card holder last namesecondaryIdentifier
- card holder first name(s)documentNumber
- document numbernationality
- nationality as 3 alpha stringdateOfBirth
- date of birthgender
- gender, must not be null
dateOfExpiry
- date of expirypersonalNumber
- either empty, or a personal number of maximum length 14, or other optional data of exact length 15@Deprecated public 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)
createTD3MRZInfo(String, String, String, String, String, String, String, Gender, String, String)
documentCode
- document code (1 or 2 digit, has to start with "I", "C", or "A")issuingState
- issuing state as 3 alpha stringprimaryIdentifier
- card holder last namesecondaryIdentifier
- card holder first name(s)documentNumber
- document numbernationality
- nationality as 3 alpha stringdateOfBirth
- date of birth in YYMMDD formatgender
- gender, must not be null
dateOfExpiry
- 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 static MRZInfo createTD1MRZInfo(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 alpha stringprimaryIdentifier
- card holder last namesecondaryIdentifier
- card holder first name(s)documentNumber
- document numbernationality
- nationality as 3 alpha stringdateOfBirth
- date of birth in yyMMdd formatgender
- gender, must not be null
dateOfExpiry
- date of expiry in yyMMdd formatoptionalData1
- optional data in line 1 of maximum length 15optionalData2
- optional data in line 2 of maximum length 11public static MRZInfo createTD2MRZInfo(String documentCode, String issuingState, String primaryIdentifier, String secondaryIdentifier, String documentNumber, String nationality, String dateOfBirth, net.sf.scuba.data.Gender gender, String dateOfExpiry, String optionalData)
documentCode
- document code (1 or 2 digit, has to start with "P" or "V")issuingState
- issuing state as 3 alpha stringprimaryIdentifier
- card holder last namesecondaryIdentifier
- card holder first name(s)documentNumber
- document numbernationality
- nationality as 3 alpha stringdateOfBirth
- date of birthgender
- gender, must not be null
dateOfExpiry
- date of expiryoptionalData
- either empty or optional data of maximal length 9public static MRZInfo createTD3MRZInfo(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")issuingState
- issuing state as 3 alpha stringprimaryIdentifier
- card holder last namesecondaryIdentifier
- card holder first name(s)documentNumber
- document numbernationality
- nationality as 3 alpha stringdateOfBirth
- date of birthgender
- gender, must not be null
dateOfExpiry
- date of expirypersonalNumber
- either empty, or a personal number of maximum length 14, or other optional data of exact length 15public static MRZInfo createMRVAMRZInfo(String documentCode, String issuingState, String primaryIdentifier, String secondaryIdentifier, String documentNumber, String nationality, String dateOfBirth, net.sf.scuba.data.Gender gender, String dateOfExpiry, String optionalData)
documentCode
- document code (1 or 2 digit, has to start with "V")issuingState
- issuing state as 3 alpha stringprimaryIdentifier
- card holder last namesecondaryIdentifier
- card holder first name(s)documentNumber
- document numbernationality
- nationality as 3 alpha stringdateOfBirth
- date of birthgender
- gender, must not be null
dateOfExpiry
- date of expiryoptionalData
- optional data at discretion of issuing statepublic static MRZInfo createMRVBMRZInfo(String documentCode, String issuingState, String primaryIdentifier, String secondaryIdentifier, String documentNumber, String nationality, String dateOfBirth, net.sf.scuba.data.Gender gender, String dateOfExpiry, String optionalData)
documentCode
- document code (1 or 2 digit, has to start with "V")issuingState
- issuing state as 3 alpha stringprimaryIdentifier
- card holder last namesecondaryIdentifier
- card holder first name(s)documentNumber
- document numbernationality
- nationality as 3 alpha stringdateOfBirth
- date of birthgender
- gender, must not be null
dateOfExpiry
- date of expiryoptionalData
- optional data at discretion of issuing statepublic String getDateOfBirth()
public String getDateOfExpiry()
public String getDocumentNumber()
@Deprecated public int getDocumentType()
getDocumentCode()
public String getDocumentCode()
public String getIssuingState()
public String getPrimaryIdentifier()
public String getSecondaryIdentifier()
public String[] getSecondaryIdentifierComponents()
public String getNationality()
public String getPersonalNumber()
public net.sf.scuba.data.Gender getGender()
public String getOptionalData1()
public String getOptionalData2()
@Deprecated public void setDocumentCode(String documentCode)
documentCode
- the new document code@Deprecated public void setDocumentNumber(String documentNumber)
documentNumber
- new document number@Deprecated public void setPrimaryIdentifier(String primaryIdentifier)
primaryIdentifier
- new primary identifier@Deprecated public void setSecondaryIdentifierComponents(String[] secondaryIdentifiers)
secondaryIdentifiers
- new secondary identifiers@Deprecated public void setSecondaryIdentifiers(String secondaryIdentifiers)
secondaryIdentifiers
- new secondary identifiers@Deprecated public void setDateOfBirth(String dateOfBirth)
dateOfBirth
- new date of birth@Deprecated public void setDateOfExpiry(String dateOfExpiry)
dateOfExpiry
- new date of expiry@Deprecated public void setIssuingState(String issuingState)
issuingState
- new issuing state@Deprecated public void setPersonalNumber(String personalNumber)
personalNumber
- new personal number@Deprecated public void setNationality(String nationality)
nationality
- new nationality@Deprecated public void setOptionalData2(String optionalData2)
optionalData2
- optional data 2@Deprecated 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 void writeObject(OutputStream outputStream) throws IOException
writeObject
in class AbstractLDSInfo
outputStream
- the output stream to write toIOException
- on error writing to the streampublic static boolean equalsModuloFillerChars(String str1, String str2)
str1
- an MRZ stringstr2
- another MRZ stringCopyright © 2021. All rights reserved.