Documentation of 'visad.ActionImpl' Java class
ActionImpl
visad

Class ActionImpl

  • All Implemented Interfaces:
    java.lang.Runnable, java.util.EventListener, Action, ThingChangedListener
    Direct Known Subclasses:
    CellImpl, DisplayImpl, FormulaVar


    public abstract class ActionImpl
    extends java.lang.Object
    implements Action, java.lang.Runnable
    ActionImpl is the abstract superclass for runnable threads that need to be notified when ThingReference objects change.

    ActionImpl is the superclass of DisplayImpl and CellImpl.

    ActionImpl is not Serializable and should not be copied between JVMs.

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static boolean TRACE_STACK 
      static boolean TRACE_TIME
      Indicates whether we print out the trace from where an action is invoked and print its run time
    • Constructor Summary

      Constructors 
      Constructor and Description
      ActionImpl(java.lang.String name)
      construct an ActionImpl
    • Field Detail

      • TRACE_TIME

        public static final boolean TRACE_TIME
        Indicates whether we print out the trace from where an action is invoked and print its run time
      • TRACE_STACK

        public static final boolean TRACE_STACK
    • Constructor Detail

      • ActionImpl

        public ActionImpl(java.lang.String name)
        construct an ActionImpl
        Parameters:
        name - - String name, used only for debugging
    • Method Detail

      • getTaskCount

        public static int getTaskCount()
        return the number of tasks in the threadpool queue
        Returns:
        number of queued and active tasks
      • printPool

        public static void printPool()
      • stopThreadPool

        public static void stopThreadPool()
        destroy all threads after they've drained the job queue
      • setThreadPoolMaximum

        public static void setThreadPoolMaximum(int num)
                                         throws java.lang.Exception
        increase the maximum number of Threads allowed in the ThreadPool
        Parameters:
        num - - new maximum number of Threads in ThreadPool
        Throws:
        java.lang.Exception - - num is less than previous maximum
      • stop

        public void stop()
        stop activity in this ActionImpl
      • checkTicks

        public boolean checkTicks()
        Returns:
        boolean that is disjunction (or) of flags saved in setTicks() calls to each linked ReferenceActionLink
      • enableAction

        public void enableAction()
        enable activity in this ActionImpl and trigger any pending activity
      • disableAction

        public void disableAction()
        disable activity in this ActionImpl and if necessary wait for end of current doAction() call
      • setEnabled

        public boolean setEnabled(boolean enable)
        Set the "enabled" state of this action. This may be used in code like the following to ensure that the action has the same "enabled" state on leaving the code as it did on entering it:
        
         ActionImpl action = ...;
         boolean wasEnabled = action.setEnabled(false);
         ...
         action.setEnabled(wasEnabled);
         
        Parameters:
        enable - The new "enabled" state for this action.
        Returns:
        The previous "enabled" state of this action.
      • getCurrentActionThread

        public java.lang.Thread getCurrentActionThread()
        return Thread currently active in run() method of this ActionImpl, or null is run() is not active
        Returns:
        currently active thread or null
      • run

        public void run()
        invoked by a Thread from the ThreadPool whenever there is a request for activity in this ActionImpl
        Specified by:
        run in interface java.lang.Runnable
      • doAction

        public abstract void doAction()
                               throws VisADException,
                                      java.rmi.RemoteException
        abstract method that implements activity of this ActionImpl
        Throws:
        VisADException - a VisAD error occurred
        java.rmi.RemoteException - an RMI error occurred
      • thingChanged

        public boolean thingChanged(ThingChangedEvent e)
                             throws VisADException,
                                    java.rmi.RemoteException
        a linked ThingReference has changed, requesting activity in this ActionImpl
        Specified by:
        thingChanged in interface ThingChangedListener
        Parameters:
        e - ThingChangedEvent for change to ThingReference
        Returns:
        true if the ThingReference changed
        Throws:
        VisADException - a VisAD error occurred
        java.rmi.RemoteException - an RMI error occurred
      • waitForTasks

        public void waitForTasks()
        wait for all queued tasks in ThreadPool to finish
      • getLinks

        public java.util.Vector getLinks()
        Returns:
        Vector of linked ReferenceActionLinks
      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface Action
        Returns:
        String name of this Action
      • setName

        public void setName(java.lang.String name)
        change the name of this Action
        Parameters:
        name - new String name

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.