|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectvisad.ActionImpl
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.
| Constructor Summary | |
ActionImpl(String name)
construct an ActionImpl |
|
| Method Summary | |
(package private) void |
adaptedAddReference(RemoteThingReference ref,
Action action)
does essentially the same thing as addReference(), but is called by the addReference() method of any RemoteActionImpl that adapts this ActionImpl |
(package private) void |
adaptedRemoveReference(RemoteThingReference ref)
does essentially the same thing as removeReference(), but is called by the removeReference() method of any RemoteActionImpl that adapts this ActionImpl |
(package private) void |
addLink(ReferenceActionLink link)
add a link to a ReferenceActionLink (and via it link to a ThingReference) |
void |
addReference(ThingReference ref)
Creates a link to a ThingReference. |
boolean |
checkTicks()
|
void |
disableAction()
disable activity in this ActionImpl and if necessary wait for end of current doAction() call |
abstract void |
doAction()
abstract method that implements activity of this ActionImpl |
void |
enableAction()
enable activity in this ActionImpl and trigger any pending activity |
(package private) ReferenceActionLink |
findLink(long id)
returns a linked ReferenceActionLink with the given id |
ReferenceActionLink |
findReference(ThingReference ref)
Returns the link associated with a ThingReference. |
Thread |
getCurrentActionThread()
return Thread currently active in run() method of this ActionImpl, or null is run() is not active |
(package private) long |
getLinkId()
|
Vector |
getLinks()
|
String |
getName()
|
(package private) void |
handleRunDisconnectException(ReferenceActionLink link)
remove linked ReferenceActionLink |
(package private) void |
notifyAction()
trigger activity in this ActionImpl |
void |
removeAllReferences()
delete all links to ThingReferences |
(package private) void |
removeLinks(ReferenceActionLink[] links)
called by DisplayImpl.removeReference and DisplayImpl.adaptedDisplayRemoveReference to remove links |
void |
removeReference(ThingReference ref)
Removes a link to a ThingReference. |
void |
run()
invoked by a Thread from the ThreadPool whenever there is a request for activity in this ActionImpl |
boolean |
setEnabled(boolean enable)
Set the "enabled" state of this action. |
void |
setName(String name)
change the name of this Action |
static void |
setThreadPoolMaximum(int num)
increase the maximum number of Threads allowed in the ThreadPool |
void |
stop()
stop activity in this ActionImpl |
static void |
stopThreadPool()
destroy all threads after they've drained the job queue |
boolean |
thingChanged(ThingChangedEvent e)
a linked ThingReference has changed, requesting activity in this ActionImpl |
void |
waitForTasks()
wait for all queued tasks in ThreadPool to finish |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public ActionImpl(String name)
name - - String name, used only for debugging| Method Detail |
public static void stopThreadPool()
public static void setThreadPoolMaximum(int num)
throws Exception
num - - new maximum number of Threads in ThreadPool
Exception - - num is less than previous maximumpublic void stop()
long getLinkId()
public boolean checkTicks()
public void enableAction()
public void disableAction()
public boolean setEnabled(boolean enable)
ActionImpl action = ...; boolean wasEnabled = action.setEnabled(false); ... action.setEnabled(wasEnabled);
enable - The new "enabled" state for this action.
public Thread getCurrentActionThread()
void handleRunDisconnectException(ReferenceActionLink link)
link - - linked ReferenceActionLink to removepublic void run()
run in interface Runnable
public abstract void doAction()
throws VisADException,
RemoteException
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred
public boolean thingChanged(ThingChangedEvent e)
throws VisADException,
RemoteException
thingChanged in interface ThingChangedListenere - ThingChangedEvent for change to ThingReference
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred
void addLink(ReferenceActionLink link)
throws VisADException,
RemoteException
link - ReferenceActionLink to link to
VisADException - a VisAD error occurred
RemoteException - an RMI error occurredvoid notifyAction()
public void waitForTasks()
public void addReference(ThingReference ref)
throws ReferenceException,
RemoteVisADException,
VisADException,
RemoteException
addReference in interface Actionref - The ThingReference to which to create
the link. Subsequent invocation of
thingChanged(ThingChangedEvent)
causes invocation of
ref.acknowledgeThingChanged(this)
. This method invokes
ref.addThingChangedListener(this, ...).
RemoteVisADException - if the reference isn't a ThingReferenceImpl.
ReferenceException - if the reference has already been added.
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.thingChanged(ThingChangedEvent),
ThingReference.addThingChangedListener(ThingChangedListener, long)
void adaptedAddReference(RemoteThingReference ref,
Action action)
throws VisADException,
RemoteException
ref - RemoteThingReference being linkedaction - RemoteActionImpl adapting this ActionImpl
ReferenceException - if the reference has already been added.
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.
public void removeReference(ThingReference ref)
throws VisADException,
RemoteException
Removes a link to a ThingReference.
This implementation invokes findReference(ThingReference).
removeReference in interface Actionref - The reference to be removed.
RemoteVisADException - if the reference isn't a ThingReferenceImpl.
ReferenceException - if the reference isn't a part of this
instance.
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.
void adaptedRemoveReference(RemoteThingReference ref)
throws VisADException,
RemoteException
ref - RemoteThingReference being removed
ReferenceException - if the reference is not linked.
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.
public void removeAllReferences()
throws VisADException,
RemoteException
removeAllReferences in interface ActionVisADException
RemoteException
void removeLinks(ReferenceActionLink[] links)
throws VisADException,
RemoteException
links - array of ReferenceActionLinks to remove
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.
ReferenceActionLink findLink(long id)
throws VisADException
id - value to search for
VisADException - if a VisAD failure occurs.
public ReferenceActionLink findReference(ThingReference ref)
throws VisADException
ref - The reference to find.
ReferenceException - if the argument is null.
VisADException - if the argument is null.public Vector getLinks()
public String getName()
getName in interface Actionpublic void setName(String name)
name - new String name
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||