com.esri.arcgis.trackinganalyst
Class ActionProcessor

java.lang.Object
  extended bycom.esri.arcgis.trackinganalyst.ActionProcessor
All Implemented Interfaces:
IActionProcessor, IActionUpdate, IPersist, IPersistStream, java.io.Serializable

public class ActionProcessor
extends java.lang.Object
implements IActionProcessor, IPersistStream, IActionUpdate

The Action Processor object processes all actions in the main actioncollection and children.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Description

The Action processor object is the main controller for processing action collections.  An Action is an object that performs analysis or processes data as it comes into one of the folowing tracking analyst systems:

Currently the Tracking Analyst supports the following types of actions:

Name Description
TagAction This action runs in the TrackingServer system and places a Tagged value in the DataMessage Tag property when its condition is satisfied.
FilterAction This action runs in all three systems and filters the DataMessage or Feature from further processing.
HighlightSuppressionAction This action only runs within the TrackingAnalyst Layer system and provides highlighting or suppression of features as they are displayed or rendered within the Map display.
VisualBasicAction This action only runs within the Tracking  Analyst Server connection and executes Visual basic code when the condition of the action is satisfied.

See Also:
Serialized Form

Constructor Summary
ActionProcessor()
          Constructs a ActionProcessor using ArcGIS Engine.
ActionProcessor(java.lang.Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
 
Method Summary
 void checkLayers()
          Checks for deleted Layers and disables affected actions.
 void clearQueue()
          Purges the processing queue and terminates the processing of queued messages.
 boolean equals(java.lang.Object o)
          Compare this object with another
 IActionCollection getActions()
          Allows access to the action processor's action collection.
 IActionProcessor getAsIActionProcessor()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IActionUpdate getAsIActionUpdate()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IPersistStream getAsIPersistStream()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 void getClassID(GUID[] pClassID)
          Supported Platforms
static java.lang.String getClsid()
           
 int getProcessorWaitTimeOut()
          Provides a configurable timeout for waiting to be able to process data objects, defaulted to 5 seconds.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          Supported Platforms
 int hashCode()
          the hashcode for this object
 void isDirty()
          Supported Platforms
 boolean isExcludeRealtimeActions()
          Indicates if real-time actions are excluded from appearing on the interface.
 boolean isSuspended()
          Indicates whether the action processor will process any new data objects or any queued data objects.
 void load(IStream pstm)
          Supported Platforms
 void processData(java.lang.Object piObject, boolean bQueueProcessing, java.lang.Object pvarReturnedObjects)
          Takes an object as a parameter and runs it through an action list.
 void save(IStream pstm, int fClearDirty)
          Supported Platforms
 void setActionsByRef(IActionCollection piActions)
          Allows access to the action processor's action collection.
 void setExcludeRealtimeActions(boolean pbvarExclude)
          Indicates if real-time actions are excluded from appearing on the interface.
 void setProcessorWaitTimeOut(int plProcessorWaitTimeOut)
          Provides a configurable timeout for waiting to be able to process data objects, defaulted to 5 seconds.
 void setSuspended(boolean pbvarSuspended)
          Indicates whether the action processor will process any new data objects or any queued data objects.
 void update()
          Notify a tracking action that lookup table values have changed.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ActionProcessor

public ActionProcessor()
                throws java.io.IOException,
                       java.net.UnknownHostException
Constructs a ActionProcessor using ArcGIS Engine.

Throws:
java.io.IOException - if there are interop problems
java.net.UnknownHostException - if there are interop problems

ActionProcessor

public ActionProcessor(java.lang.Object obj)
                throws java.io.IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.

Construct a ActionProcessor using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ActionProcessor.
ActionProcessor theActionProcessor = (ActionProcessor) obj;

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
java.io.IOException - if there are interop problems
Method Detail

getClsid

public static java.lang.String getClsid()

getAsIActionProcessor

public IActionProcessor getAsIActionProcessor()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIPersistStream

public IPersistStream getAsIPersistStream()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIActionUpdate

public IActionUpdate getAsIActionUpdate()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


equals

public boolean equals(java.lang.Object o)
Compare this object with another


hashCode

public int hashCode()
the hashcode for this object


processData

public void processData(java.lang.Object piObject,
                        boolean bQueueProcessing,
                        java.lang.Object pvarReturnedObjects)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IActionProcessor
Takes an object as a parameter and runs it through an action list.

Description

The ProcessData method takes an object as a parameter and runs it through an action list. The object can be queued if desired and an internal thread will run the object through the action list when able.

When this method is called without requesting that the object is to be queued, the third parameter will contain the potentially modified copy of the object or modified object.  One special case for this returned object is when the action list contains a filter action.  In this case, if the object is filtered out then the return is NULL.

Specified by:
processData in interface IActionProcessor
Parameters:
piObject - A reference to another Object (IUnknown) (in)
bQueueProcessing - The bQueueProcessing (in)
pvarReturnedObjects - A Variant (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

clearQueue

public void clearQueue()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IActionProcessor
Purges the processing queue and terminates the processing of queued messages.

Description

This method purges the processing queue thus terminating the processing of queued messages.

Specified by:
clearQueue in interface IActionProcessor
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isSuspended

public boolean isSuspended()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IActionProcessor
Indicates whether the action processor will process any new data objects or any queued data objects.

Description

The suspended property controls whether the action processor will process any new data objects or any queued data objects. New data objects do not queue up when the processor is suspended rather they just fall through the processor un processed.

Specified by:
isSuspended in interface IActionProcessor
Returns:
The pbvarSuspended
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSuspended

public void setSuspended(boolean pbvarSuspended)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IActionProcessor
Indicates whether the action processor will process any new data objects or any queued data objects.

Description

The suspended property controls whether the action processor will process any new data objects or any queued data objects. New data objects do not queue up when the processor is suspended rather they just fall through the processor un processed.

Specified by:
setSuspended in interface IActionProcessor
Parameters:
pbvarSuspended - The pbvarSuspended (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getActions

public IActionCollection getActions()
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: IActionProcessor
Allows access to the action processor's action collection.

Description

This property allows access to the Action Processor's Action Collection. The action collection contains all actions that the processor is processing.

Specified by:
getActions in interface IActionProcessor
Returns:
A reference to a com.esri.arcgis.trackinganalyst.IActionCollection
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setActionsByRef

public void setActionsByRef(IActionCollection piActions)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IActionProcessor
Allows access to the action processor's action collection.

Specified by:
setActionsByRef in interface IActionProcessor
Parameters:
piActions - A reference to a com.esri.arcgis.trackinganalyst.IActionCollection (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getProcessorWaitTimeOut

public int getProcessorWaitTimeOut()
                            throws java.io.IOException,
                                   AutomationException
Description copied from interface: IActionProcessor
Provides a configurable timeout for waiting to be able to process data objects, defaulted to 5 seconds.

Description

This property provides a configurable timeout for waiting to be able to process data objects. The default value for this setting is 5 seconds.

Specified by:
getProcessorWaitTimeOut in interface IActionProcessor
Returns:
The plProcessorWaitTimeOut
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setProcessorWaitTimeOut

public void setProcessorWaitTimeOut(int plProcessorWaitTimeOut)
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: IActionProcessor
Provides a configurable timeout for waiting to be able to process data objects, defaulted to 5 seconds.

Description

This property provides a configurable timeout for waiting to be able to process data objects. The default value for this setting is 5 seconds.

Specified by:
setProcessorWaitTimeOut in interface IActionProcessor
Parameters:
plProcessorWaitTimeOut - The plProcessorWaitTimeOut (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isExcludeRealtimeActions

public boolean isExcludeRealtimeActions()
                                 throws java.io.IOException,
                                        AutomationException
Description copied from interface: IActionProcessor
Indicates if real-time actions are excluded from appearing on the interface.

Specified by:
isExcludeRealtimeActions in interface IActionProcessor
Returns:
The pbvarExclude
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setExcludeRealtimeActions

public void setExcludeRealtimeActions(boolean pbvarExclude)
                               throws java.io.IOException,
                                      AutomationException
Description copied from interface: IActionProcessor
Indicates if real-time actions are excluded from appearing on the interface.

Specified by:
setExcludeRealtimeActions in interface IActionProcessor
Parameters:
pbvarExclude - The pbvarExclude (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

checkLayers

public void checkLayers()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IActionProcessor
Checks for deleted Layers and disables affected actions.

Specified by:
checkLayers in interface IActionProcessor
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IPersistStream

Supported Platforms

Windows, Solaris, Linux

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Specified by:
isDirty in interface IPersistStream
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(IStream pstm)
          throws java.io.IOException,
                 AutomationException
Description copied from interface: IPersistStream

Supported Platforms

Windows, Solaris, Linux

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws java.io.IOException,
                 AutomationException
Description copied from interface: IPersistStream

Supported Platforms

Windows, Solaris, Linux

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IPersistStream

Supported Platforms

Windows, Solaris, Linux

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getClassID

public void getClassID(GUID[] pClassID)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IPersist

Supported Platforms

Windows, Solaris, Linux

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

update

public void update()
            throws java.io.IOException,
                   AutomationException
Description copied from interface: IActionUpdate
Notify a tracking action that lookup table values have changed.

Specified by:
update in interface IActionUpdate
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.