com.sun.mdm.index.matching
Interface MatchEngineController

All Known Implementing Classes:
MatchEngineControllerImpl

public interface MatchEngineController

The interface of the match engine controller.


Method Summary
 java.util.ArrayList findMatch(java.sql.Connection con, EOSearchCriteria crit, EOSearchOptions opts, MatchOptions matchOptions)
          Attempt to find a matching object by calculating the probabilities an object matches.
 java.util.ArrayList findMatch(EOSearchCriteria crit, EOSearchOptions opts, MatchOptions matchOptions)
          Find records in the database that match the passed in search criteria, e.g.
 SystemObject standardize(SystemObject objToStandardize)
          Standardize a SystemObject
 

Method Detail

findMatch

public java.util.ArrayList findMatch(java.sql.Connection con,
                                     EOSearchCriteria crit,
                                     EOSearchOptions opts,
                                     MatchOptions matchOptions)
                              throws MatchingException,
                                     SystemObjectException,
                                     ObjectException,
                                     java.sql.SQLException,
                                     EPathException,
                                     java.lang.InstantiationException,
                                     java.lang.ClassNotFoundException,
                                     java.lang.IllegalAccessException,
                                     UserException
Attempt to find a matching object by calculating the probabilities an object matches.

Parameters:
con - The database connection.
crit - the criteria to find the match for, contains the (already standardized) SystemObject to find match for.
opts - defines what enterprise objects to match against in the database
matchOptions - the options to control the matching and the results to return
Returns:
An ArrayList of com.sun.mdm.index.matching.ScoreElement, containing information such as EUID and weight, indicating how well the the object matches. The matchOptions can influence exactly what is returned, i.e. whether it is in sorted order and whether weights below a certain threshold are removed before returning. By default the order is from the heighest weigth (= best match) first, to the lowest last - and all results are returned.
Throws:
MatchingException - matching failed
SystemObjectException - accessing the configured fields required for standardization or matching on the passed in SystemObject failed
ObjectException - accessing the configured fields required for standardization or matching on the passed in objects failed
java.sql.SQLException - retrieving data from the database for matching failed
EPathException - a configured ePath is invalid
java.lang.InstantiationException - a configured implementation class for a component could not be instantiated
java.lang.ClassNotFoundException - a configured implementation class for a component could not be found
java.lang.IllegalAccessException - a configured implementation class for a component refused access
UserException

findMatch

public java.util.ArrayList findMatch(EOSearchCriteria crit,
                                     EOSearchOptions opts,
                                     MatchOptions matchOptions)
                              throws MatchingException,
                                     SystemObjectException,
                                     ObjectException,
                                     java.sql.SQLException,
                                     EPathException,
                                     java.lang.InstantiationException,
                                     java.lang.ClassNotFoundException,
                                     java.lang.IllegalAccessException,
                                     UserException
Find records in the database that match the passed in search criteria, e.g. a SystemObject

Parameters:
crit - the criteria to match against
opts - the options controlling the desired search result
matchOptions - the options controlling the matching process
Returns:
an ArrayList of ScoreElements containing the EUID and associated match weights
Throws:
MatchingException - the matching process failed
SystemObjectException - Accessing/manipulating the system object failed
ObjectException - Accessing/manipulating the value object failed
java.sql.SQLException - querying the database failed
EPathException - using the configured epaths failed
java.lang.InstantiationException - instantiating a framework component failed
java.lang.ClassNotFoundException - the configured calss for a framework component could not be found
java.lang.IllegalAccessException - the security setting do not allow for loading the configured class for a framework component
UserException

standardize

public SystemObject standardize(SystemObject objToStandardize)
                         throws StandardizationException,
                                ObjectException,
                                java.lang.InstantiationException
Standardize a SystemObject

Parameters:
objToStandardize - the SystemObject to standardize
Returns:
the standardized SystemObject
Throws:
StandardizationException - if the standardization failed
ObjectException - if accessing/setting relevant SystemObject data failed
java.lang.InstantiationException - if creating framework components failed


Sun Microsystems, Inc.