Class 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
      MatchEngineParameter​(java.lang.String name)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void configureTupleParameter​(WordsParameter tupleParam, uk.ac.starlink.table.join.MatchEngine matcher)
      Configures a tuple parameter for use with a given MatchEngine.
      uk.ac.starlink.table.join.MatchEngine createEngine​(java.lang.String name)
      Returns a new, unconfigured match engine given a short naming string.
      WordsParameter createMatchTupleParameter​(java.lang.String numLabel)
      Creates a new parameter for specifying value tuples for a table, suitable for use with this one.
      java.lang.String getConfigUsage​(uk.ac.starlink.table.join.MatchEngine engine, uk.ac.starlink.task.Parameter wordsParam, uk.ac.starlink.table.DescribedValue[] configs)
      Returns a string giving the usage for a parameter with configuration subparameters.
      static java.lang.String[] getExampleValues()
      Returns strings naming a set of example match engine parameter values.
      java.lang.String getExtraUsage​(TableEnvironment env)
      Returns an extended usage message.
      static java.lang.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 getMatchParametersParameter()
      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 getScoreParameter()
      Returns the associated parameter which is used for specifying the match score column metadata.
      uk.ac.starlink.task.Parameter getTuningParametersParameter()
      Returns the associated parameter which is used for specifying optional tuning parameters for the engine supplied by this parameter.
      java.lang.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.
      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, java.lang.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 Detail

      • MatchEngineParameter

        public MatchEngineParameter​(java.lang.String name)
    • Method Detail

      • getExtraUsage

        public java.lang.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 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 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 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 createMatchTupleParameter​(java.lang.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 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,
                                                                    java.lang.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​(java.lang.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 java.lang.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 java.lang.String getConfigUsage​(uk.ac.starlink.table.join.MatchEngine engine,
                                               uk.ac.starlink.task.Parameter 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 java.lang.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 java.lang.String[] getExampleValues()
        Returns strings naming a set of example match engine parameter values. These are used in the documentation.