Class EIN

Object
LogicalType
LogicalTypeCode
LogicalTypeInfinite
com.cobber.fta.plugins.identity.EIN
All Implemented Interfaces:
LTRandom, Comparable<LogicalType>

public class EIN extends LogicalTypeInfinite
Plugin to US Employer Identification Numbers.
  • Constructor Details

    • EIN

      public EIN(PluginDefinition plugin)
      Construct a plugin based on the Plugin Definition.
      Parameters:
      plugin - The definition of this plugin.
  • Method Details

    • initialize

      public boolean initialize(AnalysisConfig analysisConfig) throws FTAPluginException
      Description copied from class: LogicalType
      Called to perform any initialization.
      Overrides:
      initialize in class LogicalTypeCode
      Parameters:
      analysisConfig - The Analysis configuration used for this analysis
      Returns:
      True if initialization was successful.
      Throws:
      FTAPluginException - Thrown when the plugin is incorrectly configured.
    • nextRandom

      public String nextRandom()
      Description copied from interface: LTRandom
      nextRandom will generate a random (secure) valid example of this Semantic Type.
      Returns:
      a new valid example of the Semantic Type.
    • getBaseType

      public FTAType getBaseType()
      Description copied from class: LogicalType
      The underlying type we are qualifying.
      Overrides:
      getBaseType in class LogicalType
      Returns:
      The underlying type - e.g. STRING, LONG, etc.
    • acceptsBaseType

      public boolean acceptsBaseType(FTAType type)
      Overrides:
      acceptsBaseType in class LogicalType
    • getRegExp

      public String getRegExp()
      Description copied from class: LogicalType
      The Regular Expression that most closely matches (See LogicalType.isRegExpComplete()) this Semantic Type. Note: All valid matches will match this RE, but the inverse is not necessarily true.
      Specified by:
      getRegExp in class LogicalType
      Returns:
      The Java Regular Expression that most closely matches this Semantic Type.
    • isRegExpComplete

      public boolean isRegExpComplete()
      Description copied from class: LogicalType
      Is the returned Regular Expression a true and complete representation of the Semantic Type. For example, \\d{5} is not for US ZIP codes (e.g. 00000 is not a valid Zip), whereas (?i)(male|female) could be valid for a Gender.
      Overrides:
      isRegExpComplete in class LogicalTypeInfinite
      Returns:
      The Java Regular Expression that most closely matches this Semantic Type.
    • 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?
      Specified by:
      isValid in class LogicalType
      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.
    • isCandidate

      public boolean isCandidate(String trimmed, StringBuilder compressed, int[] charCounts, int[] lastIndex)
      Description copied from class: LogicalTypeInfinite
      A fast check to see if the supplied String might be an instance of this Semantic type?
      Specified by:
      isCandidate in class LogicalTypeInfinite
      Parameters:
      trimmed - String to check
      compressed - A compressed representation of the input string (e.g. \d{5} for 20351).
      charCounts - An array of occurrence counts for characters in the input (ASCII-only).
      lastIndex - An array of the last index where character is located (ASCII-only).
      Returns:
      true iff the supplied String is a possible instance of this Semantic type.
    • 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.
      Specified by:
      analyzeSet in class LogicalType
      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 against
      facts - Facts (min, max, sum) for the analysis to date (optional - i.e. maybe null)
      cardinality - Cardinality set, up to the maximum maintained
      outliers - Outlier set, up to the maximum maintained
      tokenStreams - Shapes observed
      analysisConfig - The Configuration of the current analysis
      Returns:
      Null if we think this is an instance of this Semantic type (backout pattern otherwise)
    • isClosed

      public boolean isClosed()
      Description copied from class: LogicalType
      Does the set of members enumerated reflect the entire set. For example any of the ISO sets are reference sets and hence complete, compared to FirstName and LastName where the set provided is of the common names. If isClosed() is true then isValid() false does not imply that the input is not valid just that it is not in the set of 'known' members.
      Overrides:
      isClosed in class LogicalTypeInfinite
      Returns:
      A boolean indicating if the set is closed.