Class Age

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

public class Age extends LogicalTypeInfinite
Plugin to detect Age (Person).
  • Field Details

  • Constructor Details

    • Age

      public Age(PluginDefinition plugin)
      Construct an Age 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)