Class MatchEngineParameter

java.lang.Object
uk.ac.starlink.task.Parameter<uk.ac.starlink.table.join.MatchEngine>
uk.ac.starlink.ttools.join.MatchEngineParameter
All Implemented Interfaces:
ExtraParameter

public class MatchEngineParameter extends uk.ac.starlink.task.Parameter<uk.ac.starlink.table.join.MatchEngine> implements ExtraParameter
Parameter for acquiring a MatchEngine.
Since:
2 Sep 2005
Author:
Mark Taylor
  • Field Summary

    Fields inherited from class uk.ac.starlink.task.Parameter

    BY_NAME
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    configureTupleParameter(WordsParameter<String> tupleParam, uk.ac.starlink.table.join.MatchEngine matcher)
    Configures a tuple parameter for use with a given MatchEngine.
    uk.ac.starlink.table.join.MatchEngine
    Returns a new, unconfigured match engine given a short naming string.
    Creates a new parameter for specifying value tuples for a table, suitable for use with this one.
    getConfigUsage(uk.ac.starlink.table.join.MatchEngine engine, uk.ac.starlink.task.Parameter<String[]> wordsParam, uk.ac.starlink.table.DescribedValue[] configs)
    Returns a string giving the usage for a parameter with configuration subparameters.
    static String[]
    Returns strings naming a set of example match engine parameter values.
    Returns an extended usage message.
    static String
    getInfoUsage(uk.ac.starlink.table.ValueInfo info)
    Returns a usage fragment appropriate to specifying a value on the command line in accordance with the metadata given in a ValueInfo object.
    uk.ac.starlink.task.Parameter<String[]>
    Returns the associated parameter which is used for specifying the fixed value parameters for the engine supplied by this parameter.
    uk.ac.starlink.table.ValueInfo
    getScoreInfo(uk.ac.starlink.task.Environment env)
    Returns the match score metadata associated with this parameter.
    uk.ac.starlink.task.Parameter<String>
    Returns the associated parameter which is used for specifying the match score column metadata.
    uk.ac.starlink.task.Parameter<String[]>
    Returns the associated parameter which is used for specifying optional tuning parameters for the engine supplied by this parameter.
    getValuesUsage(uk.ac.starlink.table.join.MatchEngine engine, int startLeng)
    Returns a string giving the usage for the values parameter part of the matching command line.
    uk.ac.starlink.table.join.MatchEngine
    matchEngineValue(uk.ac.starlink.task.Environment env)
    Returns the value of this parameter as a MatchEngine.
    uk.ac.starlink.table.join.MatchEngine
    stringToObject(uk.ac.starlink.task.Environment env, String stringVal)
     

    Methods inherited from class uk.ac.starlink.task.Parameter

    clearValue, getDescription, getName, getPosition, getPreferExplicit, getPrompt, getStringDefault, getUsage, getValueClass, isNullPermitted, objectToString, objectValue, setDescription, setDescription, setName, setNullPermitted, setPosition, setPreferExplicit, setPrompt, setStringDefault, setUsage, setValue, setValueFromObject, setValueFromString, stringValue, toArray, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • MatchEngineParameter

      public MatchEngineParameter(String name)
  • Method Details

    • getExtraUsage

      public String getExtraUsage(TableEnvironment env)
      Description copied from interface: ExtraParameter
      Returns an extended usage message. This should not repeat the content of the normal usage message. It should be preformatted, that is it should contain newlines to keep the line length down to less than 80 characters.
      Specified by:
      getExtraUsage in interface ExtraParameter
      Parameters:
      env - execution envrionment
      Returns:
      extended usage message
    • getMatchParametersParameter

      public uk.ac.starlink.task.Parameter<String[]> getMatchParametersParameter()
      Returns the associated parameter which is used for specifying the fixed value parameters for the engine supplied by this parameter.
      Returns:
      params parameter
    • getTuningParametersParameter

      public uk.ac.starlink.task.Parameter<String[]> getTuningParametersParameter()
      Returns the associated parameter which is used for specifying optional tuning parameters for the engine supplied by this parameter.
      Returns:
      tuning parameter
    • getScoreParameter

      public uk.ac.starlink.task.Parameter<String> getScoreParameter()
      Returns the associated parameter which is used for specifying the match score column metadata. Do not interrogate this parameter directly - use getScoreInfo(uk.ac.starlink.task.Environment).
      Returns:
      match score parameter
    • getScoreInfo

      public uk.ac.starlink.table.ValueInfo getScoreInfo(uk.ac.starlink.task.Environment env) throws uk.ac.starlink.task.TaskException
      Returns the match score metadata associated with this parameter.
      Parameters:
      env - execution environment
      Returns:
      match score metadata; may be null
      Throws:
      uk.ac.starlink.task.TaskException
    • createMatchTupleParameter

      public WordsParameter<String> createMatchTupleParameter(String numLabel)
      Creates a new parameter for specifying value tuples for a table, suitable for use with this one.

      The supplied numLabel parameter distinguishes the parameter name if there are several; it is usually "1", "2", ... or "N" for a generic number or "" if there is only one. The autogenerated documentation will be adjusted accordingly.

      Parameters:
      numLabel - identifier for the new parameter
    • configureTupleParameter

      public static void configureTupleParameter(WordsParameter<String> tupleParam, uk.ac.starlink.table.join.MatchEngine matcher)
      Configures a tuple parameter for use with a given MatchEngine. Amongst other things, the required word count will be set, so that its WordsParameter.wordsValue(uk.ac.starlink.task.Environment) will return an array of the correct size for the match engine.
      Parameters:
      tupleParam - tuple parameter to interrogate, probably generated earlier by createMatchTupleParameter(java.lang.String)
      matcher - match engine which will be used
    • matchEngineValue

      public uk.ac.starlink.table.join.MatchEngine matchEngineValue(uk.ac.starlink.task.Environment env) throws uk.ac.starlink.task.TaskException
      Returns the value of this parameter as a MatchEngine.
      Parameters:
      env - execution environment
      Returns:
      match engine
      Throws:
      uk.ac.starlink.task.TaskException
    • stringToObject

      public uk.ac.starlink.table.join.MatchEngine stringToObject(uk.ac.starlink.task.Environment env, String stringVal) throws uk.ac.starlink.task.TaskException
      Specified by:
      stringToObject in class uk.ac.starlink.task.Parameter<uk.ac.starlink.table.join.MatchEngine>
      Throws:
      uk.ac.starlink.task.TaskException
    • createEngine

      public uk.ac.starlink.table.join.MatchEngine createEngine(String name) throws uk.ac.starlink.task.UsageException
      Returns a new, unconfigured match engine given a short naming string. Names may be separated by a '+', in which case a combined engine is returned.
      Parameters:
      name - label to select match engine type
      Returns:
      new match engine
      Throws:
      uk.ac.starlink.task.UsageException
    • getValuesUsage

      public String getValuesUsage(uk.ac.starlink.table.join.MatchEngine engine, int startLeng)
      Returns a string giving the usage for the values parameter part of the matching command line.
      Parameters:
      engine - match engine
      startLeng - running line length at which the values part begins on the output
      Returns:
      values usage - possibly empty, not null
    • getConfigUsage

      public String getConfigUsage(uk.ac.starlink.table.join.MatchEngine engine, uk.ac.starlink.task.Parameter<String[]> wordsParam, uk.ac.starlink.table.DescribedValue[] configs)
      Returns a string giving the usage for a parameter with configuration subparameters.
      Parameters:
      engine - match engine
      wordsParam - parameter providing values for the subparameters
      configs - modifiable subparameters
      Returns:
      params usage - possibly empty, not null
    • getInfoUsage

      public static String getInfoUsage(uk.ac.starlink.table.ValueInfo info)
      Returns a usage fragment appropriate to specifying a value on the command line in accordance with the metadata given in a ValueInfo object.
      Parameters:
      info - value metadata specification
      Returns:
      usage fragment
    • getExampleValues

      public static String[] getExampleValues()
      Returns strings naming a set of example match engine parameter values. These are used in the documentation.