|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.morpho.morphosmart.sdk.MorphoDatabase
public class MorphoDatabase
Class performing operations on the embedded database
This class performs operations related to the biometric device local database.
As a database is always associated to a device, MorphoDatabase has to be instantiated
with MorphoDevice.getDatabase
.
Field Summary | |
---|---|
protected boolean |
cppMemOwn
|
static int |
MORPHO_FINGER_MAX
|
static int |
MORPHO_LEN_FIELD_MAX
|
static int |
MORPHO_NB_DATABASE_MAX
|
static int |
MORPHO_NB_FIELD_MAX
|
static int |
MORPHO_NB_RECORD_MIN
|
Constructor Summary | |
---|---|
MorphoDatabase()
Constructor |
|
MorphoDatabase(MorphoDatabase database)
Copy constructor |
Method Summary | |
---|---|
int |
cancelLiveAcquisition()
This function cancels the live acquisition. |
java.lang.Object |
clone()
|
int |
dbCreate(int maxRecord,
int maxNbFinger,
TemplateType templateType)
Deprecated. kept for compatibility with release 6.6.6.1_Android_3.3, replaced by dbCreate |
int |
dbCreate(int maxRecord,
int maxNbFinger,
TemplateType templateType,
int dataBaseIndex)
Deprecated. kept for compatibility with release 6.6.6.1_Android_3.3, replaced by dbCreate |
int |
dbCreate(int maxRecord,
int maxNbFinger,
TemplateType templateType,
int dataBaseIndex,
boolean encryptDB)
This function creates a biometric database in flash memory. |
int |
dbDelete(MorphoTypeDeletion morphoTypeDeletion)
This function erases all records in the local database or deletes the local database. |
int |
dbQueryFirst(int fieldIndex,
java.lang.String dataToFind,
MorphoUser morphoUser)
This function retrieves the first user instance that matches a searched buffer in a specified field. |
int |
dbQueryNext(MorphoUser morphoUser)
This function must be called after dbQueryFirst(). |
protected void |
finalize()
Destructor |
int |
getDbEncryptionStatus(java.lang.Integer encryptDB)
This function returns the database status. |
int |
getField(int index,
MorphoField morphoField)
This function returns one-field characteristics. |
int |
getFormatPK(java.lang.Integer templateType)
|
int |
getMaxDataBase(java.lang.Integer maxdataBase)
This function retrieves Maximum number of database allowed by the configuration. |
int |
getMaxUser(java.lang.Integer maxUser)
Deprecated. kept for compatibility with release 6.6.6.1_Android_3.3, replaced by getMaxUser |
int |
getMaxUser(java.lang.Integer maxUser,
java.lang.Integer maxFinger)
This function retrieves the Maximum number of records per database allowed by the configuration. |
long |
getMorphoDatabasePointerCPP()
MORPHO USE ONLY |
int |
getNbField(java.lang.Long nbField)
This function retrieves the number of additional user data fields in the database, excluding the mandatory UID field. |
int |
getNbFinger(java.lang.Integer nbFinger)
This function returns the maximum number of templates per person in the database. |
int |
getNbFreeRecord(java.lang.Long nbFreeRecord)
This function returns the number of free records in the local database. |
int |
getNbTotalRecord(java.lang.Long nbTotalRecord)
This function returns the total number of records reserved in the local database. |
int |
getNbUsedRecord(java.lang.Long nbUsedRecord)
This function returns the number of registered records in the local database. |
int |
getUser(java.lang.String userID,
MorphoUser morphoUser)
This function returns a user instance. |
int |
identify(int timeout,
int far,
Coder coder,
int detectModeChoice,
MatchingStrategy matchingStrategy,
int callbackCmd,
java.util.Observer callback,
ResultMatching resultMatching,
int nbFingersToMatch,
MorphoUser morphoUser)
This function identifies a live finger against the local database, and returns the associated user. |
int |
identify(int timeout,
int far,
Coder coder,
int detectModeChoice,
MatchingStrategy matchingStrategy,
int callbackCmd,
java.util.Observer callback,
ResultMatching resultMatching,
MorphoUser morphoUser)
Deprecated. kept for compatibility with release 6.6.6.1_Android_3.3, replaced by identify |
int |
identifyMatch(int far,
TemplateList templateList,
MorphoUser morphoUser)
Deprecated. kept for compatibility with release 6.6.6.1_Android_3.3, replaced by identifyMatch |
int |
identifyMatch(int far,
TemplateList templateList,
MorphoUser morphoUser,
ResultMatching resultMatching)
This function identifies one unique template against the local database. |
int |
putField(MorphoField morphoField,
java.lang.Integer index)
Add a field to the list. |
int |
readPublicFields(int[] fieldsIndex,
MorphoUserList morphoUserList)
This function retrieves a list of public fields from all database records. |
void |
setMorphoDatabasePointerCPP(long morphoDatabasePointerCPP)
MORPHO USE ONLY |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected boolean cppMemOwn
public static final int MORPHO_NB_RECORD_MIN
public static final int MORPHO_NB_FIELD_MAX
public static final int MORPHO_FINGER_MAX
public static final int MORPHO_NB_DATABASE_MAX
public static final int MORPHO_LEN_FIELD_MAX
Constructor Detail |
---|
public MorphoDatabase()
public MorphoDatabase(MorphoDatabase database)
Method Detail |
---|
protected void finalize()
finalize
in class java.lang.Object
public java.lang.Object clone()
clone
in class java.lang.Object
public long getMorphoDatabasePointerCPP()
public void setMorphoDatabasePointerCPP(long morphoDatabasePointerCPP)
public int getUser(java.lang.String userID, MorphoUser morphoUser)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.
- MORPHOERR_BADPARAMETER
One or more input parameters are out of range.public int putField(MorphoField morphoField, java.lang.Integer index)
morphoField
- Morpho Field
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.public int getField(int index, MorphoField morphoField)
Index
- Field index to retrieve characteristics of. 0 is used for the UserID. First supplementary field index is 1.
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BASE_NOT_FOUND
The specified database doesn't exist.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_FIELD_NOT_FOUND
Field not found.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.public int getDbEncryptionStatus(java.lang.Integer encryptDB)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.public int dbCreate(int maxRecord, int maxNbFinger, TemplateType templateType, int dataBaseIndex, boolean encryptDB)
maxRecord
- Number of records reserved in the database (i.e. maximum number of persons enrolled).maxNbFinger
- Maximum number of fingerprints which can be stored in each record of the database (1, 2, 10 or 20). At record generation, the terminal allows the Host System to save less fingerprints per user than specified in the Create Database command (i.e. 1 in case of 2 fingerprints maximum per record).
- In case of MorphoSmart™ FINGER VP, the maximum number of fingerprints per record cannot be more than two.templateType
- The only allowed values are MORPHO_PK_COMP
and MORPHO_PK_COMP_NORM
.dataBaseIndex
- Database indexencryptDB
- - false : unencrypted database
- true : encrypted database
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BASE_ALREADY_EXISTS
This database already exists.
- MORPHOERR_NO_SPACE_LEFT
The database can not be created because there is not enough memory left.
- MORPHOERR_BADPARAMETER
- Wrong number of fingers.
- MORPHOERR_OUT_OF_FIELD
The number of additional fields is greater than MORPHO_NB_FIELD_MAX
.
- MORPHOERR_FIELD_INVALID
Additional field name length is greater than MORPHO_FIELD_NAME_LEN
.
- MORPHOERR_MEMORY_PC
Not enough memory on the PC.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.
- MORPHOERR_INVALID_PK_FORMAT
Incorrect value for templateType.public int dbCreate(int maxRecord, int maxNbFinger, TemplateType templateType, int dataBaseIndex)
dbCreate
public int dbCreate(int maxRecord, int maxNbFinger, TemplateType templateType)
dbCreate
public int readPublicFields(int[] fieldsIndex, MorphoUserList morphoUserList)
fieldsIndex
- integer array that represents fields that must be retrieved. 0 is reserved for the UserID (unique identifier) field.
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BASE_NOT_FOUND
There is no Database corresponding to the Identifier specified in the Request.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_FIELD_INVALID
One or more desired fields are not found.
- MORPHOERR_USER_NOT_FOUND
User does not exist.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.
- MORPHOERR_BADPARAMETER
One or more input parameters are out of range.public int dbDelete(MorphoTypeDeletion morphoTypeDeletion)
morphoTypeDeletion
- MorphoTypeDeletion
- MORPHO_ERASE_BASE
: This option erases all records in a local database without deleting the database.
- MORPHO_DESTROY_BASE
: This option deletes the local database.
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BASE_NOT_FOUND
The specified database doesn't exist.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.public int identify(int timeout, int far, Coder coder, int detectModeChoice, MatchingStrategy matchingStrategy, int callbackCmd, java.util.Observer callback, ResultMatching resultMatching, int nbFingersToMatch, MorphoUser morphoUser)
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. This mask describes the asynchronous status events that will trig the callback function. 0 if you do not want any asynchronous status to be received. For example MORPHO_CALLBACK_COMMAND_CMD
| MORPHO_CALLBACK_IMAGE_CMD
means we want to receive the command status (move finger up...) and low-resolution images.callback
-
MORPHO_OK
The matching was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BADPARAMETER
The matching threshold value or timeout value are out of the range.
- MORPHOERR_TIMEOUT
The finger detection timeout has expired.
- MORPHOERR_BASE_NOT_FOUND
The specified database doesn't exist.
- MORPHOERR_NO_HIT
The function returned a No Hit.
- MORPHOERR_CMDE_ABORTED
Command is canceled.
- 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_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).public int identify(int timeout, int far, Coder coder, int detectModeChoice, MatchingStrategy matchingStrategy, int callbackCmd, java.util.Observer callback, ResultMatching resultMatching, MorphoUser morphoUser)
identify
public int identifyMatch(int far, TemplateList templateList, MorphoUser morphoUser, ResultMatching resultMatching)
far
- This parameter specifies how tight the matching threshold is. Morpho recommends MORPHO_FAR_5
(see paragraph FalseAcceptanceRate.MORPHO_FAR_5
).templateList
- Candidate TemplateList. This list must include one unique template. The template format should be MORPHO_PK_COMP
. The other template formats (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
or MORPHO_PK_PKLITE (only available on MorphoSmart™ CBM-E3)
) are also supported but Morpho recommends using them only for compatibility with existing systems or specific usage. Only secure MorphoSmart™ accept the X984 biometric token and verify the integrity.
MORPHO_OK
The matching was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BADPARAMETER
The matching threshold value or timeout value are out of range.
- MORPHOERR_INVALID_TEMPLATE
The reference minutiae are not valid (corrupted minutiae).
- MORPHOERR_BASE_NOT_FOUND
The specified database doesn't exist.
- MORPHOERR_NO_HIT
The function returned a No Hit.
- MORPHOERR_MEMORY_PC
Not enough memory on the PC.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_LICENSE_MISSING
A required license is missing (MorphoSmart™ FINGER VP only).
- MORPHOERR_INVALID_PK_FORMAT
Invalid template format
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.public int identifyMatch(int far, TemplateList templateList, MorphoUser morphoUser)
identifyMatch
public int cancelLiveAcquisition()
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.
- MORPHOERR_BASE_NOT_FOUND
The specified database doesn't exist.public int dbQueryFirst(int fieldIndex, java.lang.String dataToFind, MorphoUser morphoUser)
fieldIndex
- The search is performed with this field index (0 means UserID, 1 means first supplementary field ...).dataToFind
- Pattern to search.
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BASE_NOT_FOUND
There is no Database corresponding to the Identifier specified in the Request.
- MORPHOERR_MEMORY_PC
Not enough memory on the PC.
- MORPHOERR_USER_NOT_FOUND
No record contains the searched data.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_CORRUPTED_CLASS
Class has been corruptedpublic int dbQueryNext(MorphoUser morphoUser)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BASE_NOT_FOUND
There is no Database corresponding to the Identifier specified in the Request.
- MORPHOERR_BADPARAMETER
dbQueryFirst
has not previously been called.
- MORPHOERR_MEMORY_PC
Not enough memory on the PC.
- MORPHOERR_USER_NOT_FOUND
No record contains the searched data.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_NOCALLTO_DBQUERRYFIRST
You have to call dbQueryFirst
to initialize the query
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.public int getFormatPK(java.lang.Integer templateType)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.public int getMaxDataBase(java.lang.Integer maxdataBase)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.
- MORPHOERR_BADPARAMETER
One or more input parameters are out of range.public int getMaxUser(java.lang.Integer maxUser, java.lang.Integer maxFinger)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.
- MORPHOERR_BADPARAMETER
One or more input parameters are out of range.public int getMaxUser(java.lang.Integer maxUser)
getMaxUser
public int getNbField(java.lang.Long nbField)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BASE_NOT_FOUND
The specified database doesn't exist.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.public int getNbFinger(java.lang.Integer nbFinger)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BASE_NOT_FOUND
The specified database doesn't exist.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.public int getNbFreeRecord(java.lang.Long nbFreeRecord)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BASE_NOT_FOUND
The specified database doesn't exist.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.public int getNbTotalRecord(java.lang.Long nbTotalRecord)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An internal error occurred during the execution of the function.
- MORPHOERR_BASE_NOT_FOUND
The specified database doesn't exist.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.public int getNbUsedRecord(java.lang.Long nbUsedRecord)
MORPHO_OK
The execution of the function was successful.
- MORPHOERR_NO_ASSOCIATED_DEVICE
Database is created without getDatabase
.
- MORPHOERR_INTERNAL
An error occurred during the execution of the function.
- MORPHOERR_BASE_NOT_FOUND
The specified database doesn't exist.
- MORPHOERR_PROTOCOLE
Communication protocol error.
- MORPHOERR_CORRUPTED_CLASS
Class has been corrupted.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |