public class HumanMatchEngine extends Object implements MatchEngine
| Constructor and Description |
|---|
HumanMatchEngine(MatchEngine baseEngine)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.function.Supplier<Coverage> |
createCoverageFactory()
Returns a supplier for coverage objects.
|
java.util.function.Supplier<MatchKit> |
createMatchKitFactory()
Returns a factory for MatchKit instances corresponding
to the current settings of this object.
|
static MatchEngine |
getHumanMatchEngine(MatchEngine base)
Returns a human-friendly version of a supplied MatchEngine.
|
DescribedValue[] |
getMatchParameters()
Returns a set of DescribedValue objects whose values can be modified
to modify the matching criteria.
|
ValueInfo |
getMatchScoreInfo()
Returns a description of the value returned by the
MatchKit.matchScore(java.lang.Object[], java.lang.Object[]) method. |
double |
getScoreScale()
Returns a scale value for the match score.
|
DescribedValue[] |
getTuningParameters()
Returns a set of DescribedValue objects whose values can be modified
to tune the performance of the match.
|
ValueInfo[] |
getTupleInfos()
Returns a set of ValueInfo objects indicating what is required for
the elements of each tuple.
|
boolean |
isIdentity()
Indicates whether this object simply duplicates the underlying
MatchEngine.
|
boolean |
isLargeAngle(ValueInfo info)
Indicates whether a given value is recognised as representing a large
angle (such as a coordinate of some kind).
|
boolean |
isSmallAngle(ValueInfo info)
Indicates whether a given value is recognised as representing a small
angle (such as an error of some kind).
|
public HumanMatchEngine(MatchEngine baseEngine)
baseEngine - the match engine supplying the base behaviour
for this onepublic boolean isIdentity()
public DescribedValue[] getMatchParameters()
MatchEngineDescribedValue.setValue(java.lang.Object) on the
returned objects.getMatchParameters in interface MatchEnginepublic DescribedValue[] getTuningParameters()
MatchEngineDescribedValue.setValue(java.lang.Object) on the
returned objects.
Changing these values will make no difference to the output of
MatchKit.matchScore(java.lang.Object[], java.lang.Object[]), but may change the output of
MatchKit.getBins(java.lang.Object[]).
This may change the CPU and memory requirements of the match,
but will not change the result. The default value should be
something sensible, so that setting the value of these parameters
is not in general required.
getTuningParameters in interface MatchEnginepublic ValueInfo[] getTupleInfos()
MatchEnginenullable
attribute has a special meaning: if true it means that it makes
sense for this element of the tuple to be always blank (for instance
assigned to no column).getTupleInfos in interface MatchEnginepublic java.util.function.Supplier<MatchKit> createMatchKitFactory()
MatchEngineThe returned value is immutable, and is not affected by subsequent changes of the settings of this object.
createMatchKitFactory in interface MatchEnginepublic java.util.function.Supplier<Coverage> createCoverageFactory()
MatchEngineCoverage.createTestFactory() method returns false
is guaranteed not to match any tuple in A according to this object's
match criteria.
The returned value is immutable, and is not affected by subsequent changes of the settings of this object.
If no suitable implementation is available, null may be returned.
createCoverageFactory in interface MatchEnginepublic double getScoreScale()
MatchEnginematchScore/MatchEngine.getScoreScale()
is of order unity, and is thus comparable between
different match engines.
As a general rule, the result should be the maximum value ever
returned from the matchScore method,
corresponding to the least good successful match.
For binary MatchEngine implementations
(all matches are either score=0 or failures)
a value of 1 is recommended.
If nothing reliable can be said about the scale, NaN may be returned.
getScoreScale in interface MatchEnginepublic ValueInfo getMatchScoreInfo()
MatchEngineMatchKit.matchScore(java.lang.Object[], java.lang.Object[]) method. The content class should be numeric
(though need not be Double), and the name,
description and units should be descriptive of whatever the
physical significance of the value is.
If the result of matchScore is not interesting
(for instance, if it's always either 0 or -1),
null may be returned.getMatchScoreInfo in interface MatchEnginepublic boolean isLargeAngle(ValueInfo info)
info - value metadatapublic boolean isSmallAngle(ValueInfo info)
info - value metadatapublic static MatchEngine getHumanMatchEngine(MatchEngine base)
base - original match engineCopyright © 2025 Central Laboratory of the Research Councils. All Rights Reserved.