Package uk.ac.starlink.topcat.join

## Class UploadFindMode

- java.lang.Object
- - uk.ac.starlink.topcat.join.UploadFindMode

-     public abstract class UploadFindMode
      extends java.lang.Object

  Mode for upload crossmatches corresponding to the user options. This is related to the ServiceFindMode, but not in a 1:1 fashion.
  Since:
    6 Jun 2014
  Author:
    Mark Taylor

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static UploadFindMode` | `ADD_SUBSET` | Just adds a match subset to the table.
    `static UploadFindMode` | `ALL` | All matches.
    `static UploadFindMode` | `BEST` | Best match only.
    `static UploadFindMode` | `BEST_REMOTE` | Best match in local table for each remote row.
    `static UploadFindMode` | `EACH` | One output row per local table row, best match or blank.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static UploadFindMode[]` | `getInstances()` | Returns an array of useful instances of this class.
    `uk.ac.starlink.ttools.cone.ServiceFindMode` | `getServiceMode()` | Returns the service mode associated with this user mode.
    `boolean` | `isOneToOne()` | Indicates whether this mode describes a match for which the count and sequence of the output table rows are in one to one correspondence with the input table rows.
    `abstract void` | `runMatch​(uk.ac.starlink.ttools.cone.BlockUploader blocker, uk.ac.starlink.table.StarTable inTable, uk.ac.starlink.ttools.cone.QuerySequenceFactory qsFact, uk.ac.starlink.table.StoragePolicy storage, Scheduler scheduler, TopcatModel tcModel, int[] rowMap)` | Performs an upload match and consumes the result in some appropriate way.
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### ALL

          public static final UploadFindMode ALL

      All matches.

    - #### BEST

          public static final UploadFindMode BEST

      Best match only.

    - #### BEST_REMOTE

          public static final UploadFindMode BEST_REMOTE

      Best match in local table for each remote row.

    - #### EACH

          public static final UploadFindMode EACH

      One output row per local table row, best match or blank.

    - #### ADD_SUBSET

          public static final UploadFindMode ADD_SUBSET

      Just adds a match subset to the table.

  - ### Method Detail

    - #### getServiceMode

          public uk.ac.starlink.ttools.cone.ServiceFindMode getServiceMode()

      Returns the service mode associated with this user mode.
      Returns:
        service mode

    - #### isOneToOne

          public boolean isOneToOne()

      Indicates whether this mode describes a match for which the count and sequence of the output table rows are in one to one correspondence with the input table rows.
      Returns:
        true iff output rows match 1:1 with input rows

    - #### runMatch

          public abstract void runMatch​(uk.ac.starlink.ttools.cone.BlockUploader blocker,
                                        uk.ac.starlink.table.StarTable inTable,
                                        uk.ac.starlink.ttools.cone.QuerySequenceFactory qsFact,
                                        uk.ac.starlink.table.StoragePolicy storage,
                                        Scheduler scheduler,
                                        TopcatModel tcModel,
                                        int[] rowMap)

      Performs an upload match and consumes the result in some appropriate way.
      Parameters:
        `blocker` - block uploader
        `inTable` - input table, correspoinding to `qsFact`
        `qsFact` - sequence of positional query specifications, with a row sequence corresponding to that of `inTable`
        `storage` - storage policy for storing result table
        `scheduler` - object for conditionally scheduling operations on the EDT
        `tcModel` - topcat model from which the input data comes
        `rowMap` - maps tcModel row indices to view indices

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### getInstances

          public static UploadFindMode[] getInstances()

      Returns an array of useful instances of this class.
      Returns:
        instances