Class 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