Package uk.ac.starlink.topcat.activate

## Class UrlColumnConfigurator.LocationColumnActivator

- java.lang.Object
- - uk.ac.starlink.topcat.activate.UrlColumnConfigurator.LocationColumnActivator

- All Implemented Interfaces:
    `Activator`
  Direct Known Subclasses:
    `UrlColumnConfigurator.UrlColumnActivator`
  Enclosing class:
    UrlColumnConfigurator

      protected abstract static class UrlColumnConfigurator.LocationColumnActivator
      extends java.lang.Object
      implements Activator

  Utility class providing a partial Activator implementation for UrlColumnConfigurators that want a location (file or URL) value.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `LocationColumnActivator​(uk.ac.starlink.table.ColumnData cdata, boolean invokeOnEdt)` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract Outcome` | `activateLocation​(java.lang.String loc, long lrow)` | Consumes the location string corresponding to the row to perform the activation action.
    `Outcome` | `activateRow​(long lrow, ActivationMeta meta)` | Invokes some kind of action on the table row indicated by a given index.
    `boolean` | `invokeOnEdt()` | Indicates how this activator's `activateRow` method should be executed.

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

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

- - ### Constructor Detail

    - #### LocationColumnActivator

          protected LocationColumnActivator​(uk.ac.starlink.table.ColumnData cdata,
                                            boolean invokeOnEdt)

      Constructor.
      Parameters:
        `cdata` - column data containing location strings
        `invokeOnEdt` - whether to invoke on the EDT

  - ### Method Detail

    - #### activateRow

          public Outcome activateRow​(long lrow,
                                     ActivationMeta meta)

      Description copied from interface: `Activator`
      Invokes some kind of action on the table row indicated by a given index.

      Note that the row index supplied is that from the TopcatModel's DataModel, not the Apparent Table, so that remapping the row index according to any current row sorting has already been applied. Possibly that's not the way it should have been done, and it may be desirable to change that in future, but at time of writing that's the way it is.

      Specified by:
        `activateRow` in interface `Activator`
      Parameters:
        `lrow` - row index
        `meta` - additional activation metadata if available; may be null if no special information is available
      Returns:
        outcome

    - #### invokeOnEdt

          public boolean invokeOnEdt()

      Description copied from interface: `Activator`
      Indicates how this activator's `activateRow` method should be executed. If true, it is intended to be invoked synchronously on the Event Dispatch Thread. If false, it is intended to be invoked asynchronously on some less time-critical thread. False should be returned if this activator may be time-consuming.
      Specified by:
        `invokeOnEdt` in interface `Activator`
      Returns:
        true if it is a good idea to invoke this activator on the EDT

    - #### activateLocation

          protected abstract Outcome activateLocation​(java.lang.String loc,
                                                      long lrow)

      Consumes the location string corresponding to the row to perform the activation action.
      Parameters:
        `loc` - location string, not null or blank
        `lrow` - row index
      Returns:
        outcome