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 Object implements Activator
Utility class providing a partial Activator implementation for UrlColumnConfigurators that want a location (file or URL) value.
  • Constructor Details

    • 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 Details

    • 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(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