com.morpho.morphosmart.sdk
Class MorphoUser

java.lang.Object
  extended by com.morpho.morphosmart.sdk.MorphoUser
All Implemented Interfaces:
java.lang.Cloneable

public class MorphoUser
extends java.lang.Object
implements java.lang.Cloneable

This class performs the operations related to a defined user


Field Summary
protected  boolean cppMemOwn
           
 
Constructor Summary
MorphoUser()
          Default constructor
MorphoUser(MorphoUser user)
          Copy constructor
MorphoUser(java.lang.String userID)
          Deprecated. kept for compatibility with release 6.6.6.1_Android_3.3}
 
Method Summary
 int cancelLiveAcquisition()
          This function cancels the live acquisition.
 java.lang.Object clone()
           
 int dbDelete()
          This function removes the user from the local database.
 int dbStore()
          This command creates a new record in the local database with user characteristics.
 int dbUpdatePublicFields()
          This command updates already existing public fields in the local database.
 int dbVerifyAndUpdate(int timeout, int far, Coder coder, int detectModeChoice, MatchingStrategy matchingStrategy, int callbackCmd, java.util.Observer callback)
          This command updates an already existing record in the local database.
 int enroll(int timeout, int acquisitionThreshold, int advancedSecurityLevelsRequired, CompressionAlgorithm compressAlgo, int compressRate, boolean exportMinutiae, int fingerNumber, TemplateType templateType, TemplateFVPType templateFVPType, boolean saveRecord, Coder coder, int detectModeChoice, TemplateList templateList, int callbackCmd, java.util.Observer callback)
          This function captures and enrolls a live finger.
protected  void finalize()
          default destructor
 int getEnrollmentType()
          This function returns the number of acquisitions per finger.
 java.lang.String getField(int fieldIndex)
          This method retrieves the content of a field.
 int getFVPTemplate(int templateIndex, TemplateFVP templateFVP)
          Retrieves an FVP Template content from the list.
 long getMorphoUserPointerCPP()
          MORPHO USE ONLY
 int getNbTemplate(java.lang.Integer nbTemplate)
          Get the number of templates in TemplateList.
 int getNbTemplateFVP(java.lang.Integer nbTemplateFVP)
          Get the number of FVP templates in TemplateList.
 int getTemplate(int templateIndex, Template template)
          Retrieves a Template content from the list.
 java.lang.String getUserID()
           
 int getUserTemplateQuality(int indexDB, java.lang.String userID, int userIdSize, long userIndex, TemplateQuality templateQuality, FingerNumber fingerNumber)
          This function retrieves the finger templates quality of a user in the database.
 int putField(int fieldIndex, java.lang.String fieldData)
          Add a field to the list
 int putFVPTemplate(TemplateFVP templateFVP, java.lang.Integer templateFVPIndex)
          Add a FVP template to the list.
 int putTemplate(Template template, java.lang.Integer templateIndex)
          Add a template to the list.
 int setEnrollmentType(EnrollmentType enrollmentType)
          This function specifies the number of acquisitions per finger.
 void setMorphoUserPointerCPP(long morphoUserPointerCPP)
          MORPHO USE ONLY
 int setNoCheckOnTemplateForDBStore(boolean noCheckOnTemplate)
          This function specifies whether templates verification will be done or not when a new record is created (see dbStore method).
 int setTemplateUpdateMask(boolean[] fingerprintUpdateMask)
          This method sets the template update mask for the next MophoUser.enroll() or MophoUser.dbStore()
 int verify(int timeout, int far, Coder coder, int detectModeChoice, MatchingStrategy matchingStrategy, int callbackCmd, java.util.Observer callback, ResultMatching resultMatching)
          This function captures a live finger and checks if it matches with the user referred to.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cppMemOwn

protected boolean cppMemOwn
Constructor Detail

MorphoUser

public MorphoUser()
Default constructor


MorphoUser

public MorphoUser(java.lang.String userID)
Deprecated. kept for compatibility with release 6.6.6.1_Android_3.3}


MorphoUser

public MorphoUser(MorphoUser user)
Copy constructor

Parameters:
user - MorphoUser source Object
Method Detail

finalize

protected void finalize()
default destructor

Overrides:
finalize in class java.lang.Object

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

setMorphoUserPointerCPP

public void setMorphoUserPointerCPP(long morphoUserPointerCPP)
MORPHO USE ONLY


getUserID

public java.lang.String getUserID()
Returns:
User identifier

getMorphoUserPointerCPP

public long getMorphoUserPointerCPP()
MORPHO USE ONLY


cancelLiveAcquisition

public int cancelLiveAcquisition()
This function cancels the live acquisition.

Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_NO_ASSOCIATED_DB MorphoUser is created without MorphoDatabase.getUser. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

dbDelete

public int dbDelete()
This function removes the user from the local database.

Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_INVALID_USER_ID The UserID does not exist in the database. - MORPHOERR_BASE_NOT_FOUND The database does not exist. - MORPHOERR_USER_NOT_FOUND The user doesn't exist in the database. - MORPHOERR_NO_ASSOCIATED_DB MorphoUser is created without MorphoDatabase.getUser. - MORPHOERR_PROTOCOLE Communication protocol error. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

dbStore

public int dbStore()
This command creates a new record in the local database with user characteristics. If a record with the same identifier already exists the command fails (MorphoUser.dbVerifyAndUpdate() should be used in this case). Prior calling this method, you should fill up template list and field list using MorphoUser.putTemplate(), MorphoUser.putFVPTemplate and MorphoUser.putField(). Call the MorphoUser.setNoCheckOnTemplateForDBStore() method to add user without checking that it has already been enrolled.

Returns:
- MORPHO_OK The execution of the function succeeded. - MORPHOERR_INTERNAL An error occurred during the execution of the function. - MORPHOERR_BADPARAMETER Invalid parameter. You should call MorphoUser.putTemplate(). - MORPHOERR_INVALID_USER_ID The record identifier already exists in the database. - MORPHOERR_INVALID_TEMPLATE The reference template is not valid: bad identifier, corrupted minutiae. - MORPHOERR_ALREADY_ENROLLED The person is already in this database. Call setNoCheckOnTemplateForDBStore to force enrollment. - MORPHOERR_BASE_NOT_FOUND Database doesn't exist. - MORPHOERR_DB_FULL The maximum number of users that can be stored in the database has been reached. - MORPHOERR_SAME_FINGER User give twice the same finger. - MORPHOERR_FIELD_NOT_FOUND Invalid field number. - MORPHOERR_NO_ASSOCIATED_DB MorphoUser is created without MorphoDatabase.getUser. - MORPHOERR_LICENSE_MISSING A required license is missing (MorphoSmart™ FINGER VP only). - MORPHOERR_PROTOCOLE Communication protocol error - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

setNoCheckOnTemplateForDBStore

public int setNoCheckOnTemplateForDBStore(boolean noCheckOnTemplate)
This function specifies whether templates verification will be done or not when a new record is created (see dbStore method). By default, it is not allowed to add the record of a user that is already enrolled in the database.

Parameters:
noCheckOnTemplate - Set this parameter to true to add a record without templates verification. This option is useful to reduce the time taken to fill large databases. In this case, the database coherence must be previously checked.
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

putField

public int putField(int fieldIndex,
                    java.lang.String fieldData)
Add a field to the list

Parameters:
fieldIndex - Index field : Index can not be 0 because this value is reserved for UserID. First available index is 1.
fieldData - Data stored in the field.
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_MEMORY_PC Not enough memory on the PC. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - MORPHOERR_BADPARAMETER One or more input parameters are out of range. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

getField

public java.lang.String getField(int fieldIndex)
                          throws MorphoSmartException
This method retrieves the content of a field.

Parameters:
fieldIndex - Field index (index can not be 0 because it is reserved for UserID, first available is 1).
Returns:
Data stored in the field.
Throws:
MorphoSmartException

enroll

public int enroll(int timeout,
                  int acquisitionThreshold,
                  int advancedSecurityLevelsRequired,
                  CompressionAlgorithm compressAlgo,
                  int compressRate,
                  boolean exportMinutiae,
                  int fingerNumber,
                  TemplateType templateType,
                  TemplateFVPType templateFVPType,
                  boolean saveRecord,
                  Coder coder,
                  int detectModeChoice,
                  TemplateList templateList,
                  int callbackCmd,
                  java.util.Observer callback)
This function captures and enrolls a live finger. The number of fingers can be specified. The calculated minutiae can also be exported to the host. The minutiae are calculated after three fingerprint image acquisitions (the user has to put each finger 3 times on the MorphoSmart™ sensor). To obtain the best accuracy, it is strongly recommended to use the fore, the thumb or the middle fingers. Fingerprint quality and advanced security levels compatibility (MorphoSmart™ FINGER VP only) are only available if export of templates is activated. getFVPTemplate must be called to retrieve multimodal template. getTemplate must be called to retrieve fingerprint template.

Parameters:
timeout - Finger detection timeout in seconds. Its value must be between 0 and 0xFFFF. 0 corresponds to an infinite timeout.
acquisitionThreshold - Minimum value of fingerprint quality. This value can be 0 (strongly recommended) or any value between 20 and 100.
advancedSecurityLevelsRequired - This parameter is supported only by MorphoSmart™ FINGER VP. This parameter can be set to - 1 : to get multimodal templates compatible with advanced security levels (levels greater than Standard) - 0 : to get information about the multimodal templates compatibility with advanced security levels. - 0xFF : neither be informed nor force multimodal templates compatibility with advanced security levels.
compressAlgo - Compression algorithm to be used to compress the fingerprint image. Available algorithms are: - MORPHO_NO_COMPRESS - MORPHO_COMPRESS_V1 - MORPHO_COMPRESS_WSQ - Image export is activated with setActivateFullImageRetrieving.
compressRate - Compression rate used by the fingerprint image compression algorithm: - useless for MORPHO_NO_COMPRESS and MORPHO_COMPRESS_V1 algorithms (must be set to 0). - can vary between 2 and 256 for MORPHO_COMPRESS_WSQ algorithm, usual recommended value is 10.
exportMinutiae - Defines the format of the exported minutiae. - Set this value to 0 to exclude the calculated minutiae from the reply. - Set this value to 1 to export the minutiae with its default size. - For MORPHO_PK_COMP fingerprint template format only, this field can be set to a value from 170 (0xAA) to 255 (0xFF) to limit the size of the fingerprint template. If the fingerprint template size is higher than the required value, it is compressed to match the requirement before being included in the reply, otherwise the fingerprint template is included without modification. It means that the fingerprint template size is less or equal to the specified value. - For MORPHO_PK_ANSI_378, MORPHO_PK_ISO_FMC_CS, MORPHO_PK_ISO_FMC_NS and MORPHO_PK_ISO_FMR fingerprint template formats, this field can be set to a value from 2 (0x02) to 255 (0xFF) to limit the number of PK (minutiae) in the fingerprint template.
fingerNumber - The number of fingers to enroll. This function can enroll 1 or 2 fingers. Set this value to 0x01 to enroll 1 finger per user. Set this value to 0x02 to enroll 2 fingers per user.
templateType - Indicates the template acquisition format. Value can be - MORPHO_PK_COMP (recommended) - MORPHO_PK_COMP_NORM - MORPHO_PK_MAT - MORPHO_PK_MAT_NORM - MORPHO_PK_ANSI_378 - MORPHO_PK_MINEX_A - MORPHO_PK_ISO_FMR - MORPHO_PK_ISO_FMC_NS - MORPHO_PK_ISO_FMC_CS - MORPHO_PK_PKLITE (only available on MorphoSmart™ CBM-E3) - MORPHO_NO_PK_FP
templateFVPType - Indicates the FVP template acquisition format. Value can be - MORPHO_PK_FVP - MORPHO_NO_PK_FVP
saveRecord - Indicate if the template will saved in the data base or not - 0 the template will not be saved in the data base - 1 the template will be be saved in the data base
coder - Contains the biometric coder to use ( MORPHO_MSO_V9_CODER or MORPHO_MSO_V9_JUV_CODER ). Morpho recommends using MORPHO_MSO_V9_CODER. Please refer to the MorphoSmartHostInterface document for details.
detectModeChoice - detection mode : - MORPHO_VERIF_DETECT_MODE : more permissive mode than default; MorphoSmart™ detects more easily finger presence, but might issue lower quality templates. - MORPHO_ENROLL_DETECT_MODE : strongest detection mode (default mode). - MORPHO_WAKEUP_LED_OFF : (only available on MorphoSmart™ MSO FFD) leds are turned off while waiting for a finger (impedance wakeup). - MORPHO_FORCE_FINGER_ON_TOP_DETECT_MODE : (not available on MorphoSmar™ CBM-V) force the finger to cover the top of the capture area to increase quality. - MORPHO_WAKEUP_LED_ON : (only available on MorphoSmart™ FINGER VP) leds are turned on while waiting for a finger.
callbackCmd - Binary mask with CallbackMask elements.
callback - Observer called on the reception of the asynchronous status. null if not used.
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_INTERNAL An internal error occurred during the execution of the function. - MORPHOERR_BADPARAMETER One or more input parameters are out of range. - MORPHOERR_INVALID_USER_DATA The input user data is not valid: bad identifier or wrong size. - MORPHOERR_TIMEOUT The finger detection timeout has expired. - MORPHOERR_BASE_NOT_FOUND The specified database does not exist. - MORPHOERR_DB_FULL The maximum number of users that can be stored in the local database has been reached. - MORPHOERR_CMDE_ABORTED Command is canceled. - MORPHOERR_MEMORY_PC Not enough memory on the PC. - MORPHOERR_SAME_FINGER The user gave the same finger twice. - MORPHOERR_PROTOCOLE Communication protocol error. - MORPHOERR_INVALID_USER_ID The user already exists in the database (same UserID). - MORPHOERR_INVALID_PK_FORMAT Invalid template format - MORPHOERR_FFD False Finger Detected. - MORPHOERR_MOIST_FINGER The finger can be too moist or the scanner is wet. - MORPHOERR_LICENSE_MISSING A required license is missing (MorphoSmart™ FINGER VP only). - MORPHOERR_ADVANCED_SECURITY_LEVEL_MISMATCH Failed to make a multimodal template compatible with advanced security levels (MorphoSmart™ FINGER VP only). - MORPHOERR_BAD_FINAL_FINGER_PRINT_QUALITY Failed to capture the fingerprint with a quality greater than or equal to the specified threshold. - MORPHOERR_KEY_NOT_FOUND The specified key is missing, unable to encrypt biometriques data. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

verify

public int verify(int timeout,
                  int far,
                  Coder coder,
                  int detectModeChoice,
                  MatchingStrategy matchingStrategy,
                  int callbackCmd,
                  java.util.Observer callback,
                  ResultMatching resultMatching)
This function captures a live finger and checks if it matches with the user referred to.

Parameters:
timeout - Finger detection timeout in seconds. Its value must be between 0 and 0xFFFF. 0 corresponds to an infinite timeout.
far - This parameter specifies how tight the matching threshold is. Morpho recommends MORPHO_FAR_5 (see paragraph FalseAcceptanceRate).
coder - contains the biometric coder to use (MORPHO_MSO_V9_CODER or MORPHO_MSO_V9_JUV_CODER). Morpho recommends using MORPHO_MSO_V9_CODER.
detectModeChoice - Value among of the following: - MORPHO_VERIF_DETECT_MODE : more permissive mode than default; MorphoSmart™ detects more easily finger presence, but might issue lower quality templates. - MORPHO_ENROLL_DETECT_MODE : strongest detection mode (default mode). - MORPHO_WAKEUP_LED_OFF : (only available on MorphoSmart™ MSO FFD) leds are turned off while waiting for a finger (impedance wakeup). - MORPHO_FORCE_FINGER_ON_TOP_DETECT_MODE : (not available on MorphoSmart™ CBM-V) force the finger to cover the top of the capture area to increase quality. - MORPHO_WAKEUP_LED_ON : (only available on MorphoSmart™ FINGER VP) leds are turned on while waiting for a finger.
matchingStrategy - Value among of the following: - MORPHO_STANDARD_MATCHING_STRATEGY: default strategy. - MORPHO_ADVANCED_MATCHING_STRATEGY: less FRR, but more processing time (not available on MorphoSmart™ FINGER VP).
callbackCmd - Binary mask with CallbackMask elements.
callback - Observer called on the reception of asynchronous status. null if not used.
Returns:
- MORPHO_OK The comparison was successful. - MORPHOERR_INTERNAL An internal error occurred during the execution of the function. - MORPHOERR_BADPARAMETER The matching threshold value or timeout value is out of range or there is no input biometric data. - MORPHOERR_INVALID_TEMPLATE The reference template is not valid: bad identifier, corrupted minutiae. - MORPHOERR_TIMEOUT The finger detection timeout has expired. - MORPHOERR_NO_HIT The function returned a No Hit. - MORPHOERR_CMDE_ABORTED Command is canceled. - MORPHOERR_NO_ASSOCIATED_DB MorphoUser is created without MorphoDatabase.getUser. - MORPHOERR_PROTOCOLE Communication protocol error. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - MORPHOERR_FFD False Finger Detected. - MORPHOERR_MOIST_FINGER The finger can be too moist or the scanner is wet. - MORPHOERR_FVP_MINUTIAE_SECURITY_MISMATCH Fingerprint template cannot be matched in high security level (MorphoSmart™ FINGER VP only). - MORPHOERR_FVP_FINGER_MISPLACED_OR_WITHDRAWN Finger was misplaced or has been withdrawn from sensor during acquisition (MorphoSmart™ FINGER VP only). - MORPHOERR_FFD_FINGER_MISPLACED Finger was misplaced during acquisition (MorphoSmart™ MSO FFD only). - CLASS_NOT_INSTANTIATED Class Not Instantiated.

putTemplate

public int putTemplate(Template template,
                       java.lang.Integer templateIndex)
Add a template to the list.

Parameters:
template - Template to add.
templateIndex - Template index in the list (starts from 0).
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_MEMORY_PC Not enough memory on the PC. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - MORPHOERR_BADPARAMETER One or more input parameters are out of range. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

dbUpdatePublicFields

public int dbUpdatePublicFields()
This command updates already existing public fields in the local database. MorphoUser object has to be filled with public fields that need to be updated. Prior calling this method, you should fill up field list using putField.

Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_INTERNAL An internal error occurred during the execution of the function. - MORPHOERR_INVALID_USER_DATA The input user data is not valid: bad identifier, wrong size. - MORPHOERR_BASE_NOT_FOUND The specified base doesn't exist. - MORPHOERR_NO_ASSOCIATED_DB MorphoUser is created without MorphoDatabase.getUser. - MORPHOERR_PROTOCOLE Communication protocol error. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

dbVerifyAndUpdate

public int dbVerifyAndUpdate(int timeout,
                             int far,
                             Coder coder,
                             int detectModeChoice,
                             MatchingStrategy matchingStrategy,
                             int callbackCmd,
                             java.util.Observer callback)
This command updates an already existing record in the local database. If no record with the same identifier already exists the command fails ( dbStore should be used). This command updates already existing fields (public or private) in the local database. MorphoUser object has to be filled with public fields that need to be updated (see method putField). The field update is performed only if the user identity is verified. Prior calling this method, you should fill up field list using putField.

Parameters:
timeout - Finger detection timeout in seconds. Its value must be between 0 and 0xFFFF. 0 corresponds to an infinite timeout.
far - This parameter specifies how tight the matching threshold is. Morpho recommends MORPHO_FAR_5 (see paragraph FalseAcceptanceRate).
coder - contains the biometric coder to use ( MORPHO_MSO_V9_CODER or MORPHO_MSO_V9_JUV_CODER). Morpho recommends using MORPHO_MSO_V9_CODER.
detectModeChoice - Value among of the following: - MORPHO_VERIF_DETECT_MODE : more permissive mode than default; MorphoSmart™ detects more easily finger presence, but might issue lower quality templates. - MORPHO_ENROLL_DETECT_MODE : strongest detection mode (default mode). - MORPHO_WAKEUP_LED_OFF : (only available on MorphoSmart™ MSO FFD) leds are turned off while waiting for a finger (impedance wakeup). - MORPHO_FORCE_FINGER_ON_TOP_DETECT_MODE : (not available on MorphoSmart™ CBM-V) force the finger to cover the top of the capture area to increase quality. - MORPHO_WAKEUP_LED_ON : (only available on MorphoSmart™ FINGER VP) leds are turned on while waiting for a finger.
matchingStrategy - Value among of the following: - MORPHO_STANDARD_MATCHING_STRATEGY: default strategy. - MORPHO_ADVANCED_MATCHING_STRATEGY: less FRR, but more processing time (not available on MorphoSmart™ FINGER VP).
callbackCmd - Binary mask with CallbackMask elements.
callback - Observer called on the reception of the asynchronous status. null if not used.
Returns:
- MORPHO_OK The matching was successful. - MORPHOERR_INTERNAL An internal error occurred during the execution of the function. - MORPHOERR_BADPARAMETER The matching threshold value or timeout value is out of range. - MORPHOERR_TIMEOUT The finger detection timeout has expired. - MORPHOERR_NO_HIT Finger does not match. - MORPHOERR_CMDE_ABORTED Command is canceled. - MORPHOERR_MEMORY_PC Not enough memory on the PC. - MORPHOERR_PROTOCOLE Communication protocol error. - MORPHOERR_NO_ASSOCIATED_DB MorphoUser is created without MorphoDatabase.getUser. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - MORPHOERR_FFD False Finger Detected. - MORPHOERR_MOIST_FINGER The finger can be too moist or the scanner is wet. - MORPHOERR_FVP_FINGER_MISPLACED_OR_WITHDRAWN Finger was misplaced or has been withdrawn from sensor during acquisition (MorphoSmart™ FINGER VP only). - MORPHOERR_FFD_FINGER_MISPLACED Finger was misplaced during acquisition (MorphoSmart™ MSO FFD only). - CLASS_NOT_INSTANTIATED Class Not Instantiated.

getEnrollmentType

public int getEnrollmentType()
This function returns the number of acquisitions per finger.

Returns:
the number of acquisitions per finger

setEnrollmentType

public int setEnrollmentType(EnrollmentType enrollmentType)
This function specifies the number of acquisitions per finger.

Parameters:
enrollmentType - the number of acquisitions per finger.
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - MORPHOERR_BADPARAMETER Invalid parameter - CLASS_NOT_INSTANTIATED Class Not Instantiated.

getUserTemplateQuality

public int getUserTemplateQuality(int indexDB,
                                  java.lang.String userID,
                                  int userIdSize,
                                  long userIndex,
                                  TemplateQuality templateQuality,
                                  FingerNumber fingerNumber)
This function retrieves the finger templates quality of a user in the database.

Parameters:
indexDB - Index of the database to search in.
userID - ID of the user whose finger's quality must be retrieved
userIdSize - UserID size
userIndex - Index of the user whose finger's quality must be retrieved. This parameter is used if only userID is null.
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_INTERNAL An internal error occurred during the execution of the function. - MORPHOERR_BADPARAMETER One or more input parameters are out of range. - MORPHOERR_INVALID_USER_ID The UserID does not exist in the database. - MORPHOERR_BASE_NOT_FOUND The database does not exist. - MORPHOERR_USER_NOT_FOUND The user does not exist in the database. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

putFVPTemplate

public int putFVPTemplate(TemplateFVP templateFVP,
                          java.lang.Integer templateFVPIndex)
Add a FVP template to the list.

Parameters:
templateFVP - Input template FVP.
templateFVPIndex - TemplateFVP index in the list (starts from 0).
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_MEMORY_PC Not enough memory on the PC. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

getTemplate

public int getTemplate(int templateIndex,
                       Template template)
Retrieves a Template content from the list.

Parameters:
templateIndex - Template index in the list (starts from 0).
templatif(enrollmentType - == null) { return ErrorCodes.MORPHOERR_BADPARAMETER; }e output Template.
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_BADPARAMETER Invalid template index. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

getFVPTemplate

public int getFVPTemplate(int templateIndex,
                          TemplateFVP templateFVP)
Retrieves an FVP Template content from the list.

Parameters:
templateIndex - TemplateFVP index in the list (starts from 0).
templateFVP - output TemplateFVP.
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_BADPARAMETER Invalid template index. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

getNbTemplate

public int getNbTemplate(java.lang.Integer nbTemplate)
Get the number of templates in TemplateList.

Parameters:
nbTemplate - The output number of templates.
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

getNbTemplateFVP

public int getNbTemplateFVP(java.lang.Integer nbTemplateFVP)
Get the number of FVP templates in TemplateList.

Parameters:
nbTemplateFVP - The output number of FVP templates.
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_CORRUPTED_CLASS Class has been corrupted. - CLASS_NOT_INSTANTIATED Class Not Instantiated.

setTemplateUpdateMask

public int setTemplateUpdateMask(boolean[] fingerprintUpdateMask)
This method sets the template update mask for the next MophoUser.enroll() or MophoUser.dbStore()

Parameters:
fingerprintUpdateMask - Bitmask for fingerprint update for an existing user. Set to null for default method behaviour (enroll a new user). Any other value will trigger a fingerprint add or replace for an existing user in the database instead of enrolling a new user. Selection of finger slot index to add or replace is achieved through bit index set to true in the parameter. Therefore, maximum value allowed for the parameter depends on the maximum number of fingers per user. As an example, see the available values below for a database with 2 fingers per user: - fingerprintUpdateMask = {true} : update first finger - fingerprintUpdateMask = {false,true} : add (or update) second finger - fingerprintUpdateMask = {true,true} : update both fingers (or update first finger and add a second one) - fingerprintUpdateMask = {false,false} : default behaviour, a new user will be enrolled - null : default behaviour, a new user will be enrolled
Returns:
- MORPHO_OK The execution of the function was successful. - MORPHOERR_BADPARAMETER Invalid template index. - MORPHOERR_NO_ASSOCIATED_DB MorphoUser is created without MorphoDatabase.getUser. - CLASS_NOT_INSTANTIATED Class Not Instantiated.