Package com.cobber.fta.plugins
Class FirstName
- Object
-
- LogicalType
-
- LogicalTypeCode
-
- LogicalTypeFinite
-
- LogicalTypeFiniteSimple
-
- com.cobber.fta.plugins.PersonName
-
- com.cobber.fta.plugins.FirstName
-
- All Implemented Interfaces:
LTRandom
,Comparable<LogicalType>
- Direct Known Subclasses:
MiddleName
public class FirstName extends PersonName
Plugin to detect an individuals First Name.
-
-
Field Summary
Fields Modifier and Type Field Description static String
SEMANTIC_TYPE
The Semantic type for this Plugin.-
Fields inherited from class com.cobber.fta.plugins.PersonName
REGEXP
-
Fields inherited from class com.cobber.fta.LogicalTypeFiniteSimple
backout, memberSet, qualifier, reader, regExp
-
Fields inherited from class com.cobber.fta.LogicalTypeFinite
maxLength, minLength
-
Fields inherited from class com.cobber.fta.LogicalTypeCode
random
-
Fields inherited from class com.cobber.fta.LogicalType
analysisConfig, defn, locale, localeInfo, pluginLocaleEntry, priority, threshold
-
-
Constructor Summary
Constructors Constructor Description FirstName(PluginDefinition plugin)
Construct a First Name plugin based on the Plugin Definition.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PluginAnalysis
analyzeSet(AnalyzerContext context, long matchCount, long realSamples, String currentRegExp, Facts facts, FiniteMap cardinality, FiniteMap outliers, TokenStreams tokenStreams, AnalysisConfig analysisConfig)
Given the data to date as embodied by the arguments return an analysis.double
getConfidence(long matchCount, long realSamples, AnalyzerContext context)
Confidence in the type classification.boolean
isPlausible(String candidate)
boolean
isValid(String input, boolean detectMode, long count)
Is the supplied String an instance of this Semantic type?-
Methods inherited from class com.cobber.fta.plugins.PersonName
isClosed, nextRandom
-
Methods inherited from class com.cobber.fta.LogicalTypeFiniteSimple
getMembers, getRegExp, getSemanticType, initialize, isMember, setContent
-
Methods inherited from class com.cobber.fta.LogicalTypeFinite
getIgnorable, getMaxLength, getMinLength, getSize, isRegExpComplete
-
Methods inherited from class com.cobber.fta.LogicalTypeCode
seed
-
Methods inherited from class com.cobber.fta.LogicalType
acceptsBaseType, compareTo, getBaseType, getDescription, getHeaderConfidence, getPluginDefinition, getPriority, getSignature, getThreshold, isLocaleSensitive, isValid, setThreshold
-
-
-
-
Field Detail
-
SEMANTIC_TYPE
public static final String SEMANTIC_TYPE
The Semantic type for this Plugin.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FirstName
public FirstName(PluginDefinition plugin)
Construct a First Name plugin based on the Plugin Definition.- Parameters:
plugin
- The definition of this plugin.
-
-
Method Detail
-
isPlausible
public boolean isPlausible(String candidate)
- Specified by:
isPlausible
in classPersonName
-
isValid
public boolean isValid(String input, boolean detectMode, long count)
Description copied from class:LogicalType
Is the supplied String an instance of this Semantic type?- Overrides:
isValid
in classPersonName
- Parameters:
input
- String to check (trimmed for Numeric base Types, un-trimmed for String base Type)detectMode
- If true then we are in the process of detection, otherwise it is a simple validity check.count
- The number of instance of this sample.- Returns:
- true iff the supplied String is an instance of this Semantic type.
-
getConfidence
public double getConfidence(long matchCount, long realSamples, AnalyzerContext context)
Description copied from class:LogicalType
Confidence in the type classification. Typically this will be the number of matches divided by the number of real samples.- Overrides:
getConfidence
in classLogicalType
- Parameters:
matchCount
- Number of matches (as determined by isValid())realSamples
- Number of samples observed - does not include either nulls or blankscontext
- Context we are operating under (includes data stream name(s))- Returns:
- Confidence as a percentage.
-
analyzeSet
public PluginAnalysis analyzeSet(AnalyzerContext context, long matchCount, long realSamples, String currentRegExp, Facts facts, FiniteMap cardinality, FiniteMap outliers, TokenStreams tokenStreams, AnalysisConfig analysisConfig)
Description copied from class:LogicalType
Given the data to date as embodied by the arguments return an analysis. If we think this is an instance of this Semantic type then valid will be true , if invalid then valid will be false and a new Pattern will be returned.- Overrides:
analyzeSet
in classPersonName
- Parameters:
context
- The context used to interpret the Data Stream (for example, stream name, date resolution mode, etc)matchCount
- Number of samples that match so far (as determined by isValid()realSamples
- Number of real (i.e. non-blank and non-null) samples that we have processed so far.currentRegExp
- The current Regular Expression that we matched againstfacts
- Facts (min, max, sum) for the analysis to date (optional - i.e. maybe null)cardinality
- Cardinality set, up to the maximum maintainedoutliers
- Outlier set, up to the maximum maintainedtokenStreams
- Shapes observedanalysisConfig
- The Configuration of the current analysis- Returns:
- Null if we think this is an instance of this Semantic type (backout pattern otherwise)
-
-