com.esri.arcgis.trackinganalyst
Class TemporalObservationTable

java.lang.Object
  extended by com.esri.arcgis.trackinganalyst.TemporalObservationTable
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, ISupportErrorInfo, IInternalTable, ITemporalObservationsTable, ITemporalObservationsTable2, ITemporalTable, Serializable

public class TemporalObservationTable
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ITemporalObservationsTable, ITemporalObservationsTable2, IInternalTable, ITemporalTable, ISupportErrorInfo

Description

This object is a non-creatable COM object that is a wrapper around an in memory database table that contains Temporal Observation data. The purpose of this object is to facilitate observation analysis and to set parameters for dynamic data lifetime. This wrapper also enables this objects data to be saved with the AMS workspace if desired.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
TemporalObservationTable()
          Constructs a TemporalObservationTable using ArcGIS Engine.
TemporalObservationTable(Object obj)
          Construct a TemporalObservationTable using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void addField(IField field)
          Adds a field to this object class.
 int addRow(IDataMessage piDataMessage)
          Adds a row to the temporal table.
 IRow createRow()
          Creates a row in the database with a system assigned object ID and null property values.
 IRowBuffer createRowBuffer()
          Creates a row buffer that can be used with an insert cursor.
 void deleteField(IField field)
          Deletes a field from this object class.
 boolean equals(Object o)
          Compare this object with another
 int findField(String name)
          The index of the field with the specified name.
static String getClsid()
          getClsid.
 IFields getFields()
          The fields collection for this object class.
 String getGeometryColumnName()
          Column name of the table's field containing the geometry.
 double getPurgePercentage()
          The percentage of the maximum allowed number of records to delete when the Purge method is called.
 int getPurgeRule()
          Identifies the purge rule to apply when PruneTable method is called (via user S/W or auto purge criteria).
 IRow getRow(int oID)
          The row from the database with the specified object ID.
 String getTemporalColumnName()
          The column that is responsible for providing the temporal information.
 Object getThreshold()
          The high-water mark or the number of observations that should not be exceeded Threshold.
 int hashCode()
          the hashcode for this object
 ICursor insert(boolean useBuffering)
          Returns a cursor that can be used to insert new Rows.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isAutoPurge()
          Indicates if the observation table will automatically purge observations that meet a specified criteria, Purge Rule, when the high-water mark has been exceeded.
 boolean isHasGeometry()
          Identifies if the table contains a geometry field.
 boolean isPersistant()
          Reserved for future.
 void pruneTable()
          Apply the purge rule to the temporal table.
 void queryTemporalExtent(Object[] pvarStartTime, Object[] pvarEndTime)
          Provides the time range of all records in the temporal table.
 int rowCount(IQueryFilter queryFilter)
          The number of Rows selected by the specified query.
 ICursor search(IQueryFilter queryFilter, boolean recycling)
          An object cursor that can be used to fetch row objects selected by the specified query.
 ISelectionSet select(IQueryFilter queryFilter, int selType, int selOption, IWorkspace selectionContainer)
          A selection that contains the object ids selected by the specified query.
 void setAutoPurge(boolean pVal)
          Indicates if the observation table will automatically purge observations that meet a specified criteria, Purge Rule, when the high-water mark has been exceeded.
 void setGeometryColumnName(String pbstrColumnName)
          Column name of the table's field containing the geometry.
 void setPersistant(boolean pVal)
          Reserved for future.
 void setPurgePercentage(double pVal)
          The percentage of the maximum allowed number of records to delete when the Purge method is called.
 void setPurgeRule(int pVal)
          Identifies the purge rule to apply when PruneTable method is called (via user S/W or auto purge criteria).
 void setTemporalColumnName(String pVal)
          The column that is responsible for providing the temporal information.
 void setThreshold(Object pvarVal)
          The high-water mark or the number of observations that should not be exceeded Threshold.
 void setTrackingColumnIndex(int rhs1)
          Receives the column index of the Track ID.
 ICursor update(IQueryFilter queryFilter, boolean recycling)
          Returns a cursor that can be used to update Rows selected by the specified query.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

TemporalObservationTable

public TemporalObservationTable()
                         throws IOException,
                                UnknownHostException
Constructs a TemporalObservationTable using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

TemporalObservationTable

public TemporalObservationTable(Object obj)
                         throws IOException
Construct a TemporalObservationTable using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to TemporalObservationTable.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems TemporalObservationTable theTemporalObservationTable = (TemporalObservationTable) obj;
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

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

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

isAutoPurge

public boolean isAutoPurge()
                    throws IOException,
                           AutomationException
Indicates if the observation table will automatically purge observations that meet a specified criteria, Purge Rule, when the high-water mark has been exceeded.

Product Availability

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

Specified by:
isAutoPurge in interface ITemporalObservationsTable
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAutoPurge

public void setAutoPurge(boolean pVal)
                  throws IOException,
                         AutomationException
Indicates if the observation table will automatically purge observations that meet a specified criteria, Purge Rule, when the high-water mark has been exceeded.

Product Availability

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

Specified by:
setAutoPurge in interface ITemporalObservationsTable
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getThreshold

public Object getThreshold()
                    throws IOException,
                           AutomationException
The high-water mark or the number of observations that should not be exceeded Threshold.

Description

This property indicates the high-water mark or the number of observations that should not be exceeded. When the auto purge property is enabled or true, this level is the maximum number of records that can exist in the table. The auto purge process occurs or is triggered, and it will prune the table according to the Purge Rule. If Auto Purge is not true or enabled then record inserts will fail and no further data will be allowed into the table.

Product Availability

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

Specified by:
getThreshold in interface ITemporalObservationsTable
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setThreshold

public void setThreshold(Object pvarVal)
                  throws IOException,
                         AutomationException
The high-water mark or the number of observations that should not be exceeded Threshold.

Product Availability

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

Specified by:
setThreshold in interface ITemporalObservationsTable
Parameters:
pvarVal - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPurgePercentage

public double getPurgePercentage()
                          throws IOException,
                                 AutomationException
The percentage of the maximum allowed number of records to delete when the Purge method is called.

Description

This property indicates the percentage of the maximum allowed number of records to be deleted when the Purge method is called.

Product Availability

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

Specified by:
getPurgePercentage in interface ITemporalObservationsTable
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPurgePercentage

public void setPurgePercentage(double pVal)
                        throws IOException,
                               AutomationException
The percentage of the maximum allowed number of records to delete when the Purge method is called.

Product Availability

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

Specified by:
setPurgePercentage in interface ITemporalObservationsTable
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isPersistant

public boolean isPersistant()
                     throws IOException,
                            AutomationException
Reserved for future.

Product Availability

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

Specified by:
isPersistant in interface ITemporalObservationsTable
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPersistant

public void setPersistant(boolean pVal)
                   throws IOException,
                          AutomationException
Reserved for future.

Product Availability

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

Specified by:
setPersistant in interface ITemporalObservationsTable
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTemporalColumnName

public String getTemporalColumnName()
                             throws IOException,
                                    AutomationException
The column that is responsible for providing the temporal information. This column must be a character (date/time string parsable) , date-time, timestamp, or time period.

Description

This property is the name of the column that contains the temporal data. This data can be a timestamp or a time period.

Product Availability

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

Specified by:
getTemporalColumnName in interface ITemporalObservationsTable
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTemporalColumnName

public void setTemporalColumnName(String pVal)
                           throws IOException,
                                  AutomationException
The column that is responsible for providing the temporal information. This column must be a character (date/time string parsable) , date-time, timestamp, or time period.

Product Availability

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

Specified by:
setTemporalColumnName in interface ITemporalObservationsTable
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPurgeRule

public int getPurgeRule()
                 throws IOException,
                        AutomationException
Identifies the purge rule to apply when PruneTable method is called (via user S/W or auto purge criteria).

Description

This property identifies the purge rule to apply when the PruneTable method is called via user, or the auto purge criteria. See the purge rule enumeration constants for details about each rule.

Product Availability

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

Specified by:
getPurgeRule in interface ITemporalObservationsTable
Returns:
A com.esri.arcgis.trackinganalyst.enumPurgeRule constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPurgeRule

public void setPurgeRule(int pVal)
                  throws IOException,
                         AutomationException
Identifies the purge rule to apply when PruneTable method is called (via user S/W or auto purge criteria).

Product Availability

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

Specified by:
setPurgeRule in interface ITemporalObservationsTable
Parameters:
pVal - A com.esri.arcgis.trackinganalyst.enumPurgeRule constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

pruneTable

public void pruneTable()
                throws IOException,
                       AutomationException
Apply the purge rule to the temporal table.

Description

This method applies the purge rule to the temporal table to purge observations that meet a specified criteria--the user-defined Purge Rule--when the high-water mark has been exceeded.

Product Availability

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

Specified by:
pruneTable in interface ITemporalObservationsTable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryTemporalExtent

public void queryTemporalExtent(Object[] pvarStartTime,
                                Object[] pvarEndTime)
                         throws IOException,
                                AutomationException
Provides the time range of all records in the temporal table.

Description

This method returns the full temporal extent of data stored in the feature class. The returned objects are VT_DATE type (e.g., “mm/dd/yyyy hh:mm:ss AM/PM”).

Product Availability

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

Specified by:
queryTemporalExtent in interface ITemporalObservationsTable
Parameters:
pvarStartTime - A Variant (out: use single element array)
pvarEndTime - A Variant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findField

public int findField(String name)
              throws IOException,
                     AutomationException
The index of the field with the specified name.

Description

This method returns the index of the field with the specified name in the object class.

Product Availability

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

Specified by:
findField in interface ITemporalTable
Parameters:
name - The name (in)
Returns:
The fieldIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFields

public IFields getFields()
                  throws IOException,
                         AutomationException
The fields collection for this object class.

Description

This property returns the fields collection for the object class.

Product Availability

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

Specified by:
getFields in interface ITemporalTable
Returns:
A reference to a com.esri.arcgis.geodatabase.IFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addField

public void addField(IField field)
              throws IOException,
                     AutomationException
Adds a field to this object class.

Product Availability

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

Specified by:
addField in interface ITemporalTable
Parameters:
field - A reference to a com.esri.arcgis.geodatabase.IField (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteField

public void deleteField(IField field)
                 throws IOException,
                        AutomationException
Deletes a field from this object class.

Product Availability

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

Specified by:
deleteField in interface ITemporalTable
Parameters:
field - A reference to a com.esri.arcgis.geodatabase.IField (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createRow

public IRow createRow()
               throws IOException,
                      AutomationException
Creates a row in the database with a system assigned object ID and null property values.

Product Availability

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

Specified by:
createRow in interface ITemporalTable
Returns:
A reference to a com.esri.arcgis.geodatabase.IRow
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRow

public IRow getRow(int oID)
            throws IOException,
                   AutomationException
The row from the database with the specified object ID.

Product Availability

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

Specified by:
getRow in interface ITemporalTable
Parameters:
oID - The oID (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRow
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createRowBuffer

public IRowBuffer createRowBuffer()
                           throws IOException,
                                  AutomationException
Creates a row buffer that can be used with an insert cursor.

Product Availability

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

Specified by:
createRowBuffer in interface ITemporalTable
Returns:
A reference to a com.esri.arcgis.geodatabase.IRowBuffer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rowCount

public int rowCount(IQueryFilter queryFilter)
             throws IOException,
                    AutomationException
The number of Rows selected by the specified query.

Product Availability

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

Specified by:
rowCount in interface ITemporalTable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Returns:
The numRows
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

search

public ICursor search(IQueryFilter queryFilter,
                      boolean recycling)
               throws IOException,
                      AutomationException
An object cursor that can be used to fetch row objects selected by the specified query.

Product Availability

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

Specified by:
search in interface ITemporalTable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

update

public ICursor update(IQueryFilter queryFilter,
                      boolean recycling)
               throws IOException,
                      AutomationException
Returns a cursor that can be used to update Rows selected by the specified query.

Product Availability

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

Specified by:
update in interface ITemporalTable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insert

public ICursor insert(boolean useBuffering)
               throws IOException,
                      AutomationException
Returns a cursor that can be used to insert new Rows.

Product Availability

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

Specified by:
insert in interface ITemporalTable
Parameters:
useBuffering - The useBuffering (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

select

public ISelectionSet select(IQueryFilter queryFilter,
                            int selType,
                            int selOption,
                            IWorkspace selectionContainer)
                     throws IOException,
                            AutomationException
A selection that contains the object ids selected by the specified query.

Product Availability

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

Specified by:
select in interface ITemporalTable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
selType - A com.esri.arcgis.geodatabase.esriSelectionType constant (in)
selOption - A com.esri.arcgis.geodatabase.esriSelectionOption constant (in)
selectionContainer - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISelectionSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasGeometry

public boolean isHasGeometry()
                      throws IOException,
                             AutomationException
Identifies if the table contains a geometry field.

Product Availability

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

Specified by:
isHasGeometry in interface ITemporalTable
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometryColumnName

public String getGeometryColumnName()
                             throws IOException,
                                    AutomationException
Column name of the table's field containing the geometry.

Description

This property indicates the column name of the table’s field containing the geometry.

Product Availability

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

Specified by:
getGeometryColumnName in interface ITemporalTable
Returns:
The pbstrColumnName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGeometryColumnName

public void setGeometryColumnName(String pbstrColumnName)
                           throws IOException,
                                  AutomationException
Column name of the table's field containing the geometry.

Product Availability

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

Specified by:
setGeometryColumnName in interface ITemporalTable
Parameters:
pbstrColumnName - The pbstrColumnName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTrackingColumnIndex

public void setTrackingColumnIndex(int rhs1)
                            throws IOException,
                                   AutomationException
Receives the column index of the Track ID.

Product Availability

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

Specified by:
setTrackingColumnIndex in interface ITemporalObservationsTable2
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addRow

public int addRow(IDataMessage piDataMessage)
           throws IOException,
                  AutomationException
Adds a row to the temporal table.

Product Availability

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

Specified by:
addRow in interface IInternalTable
Parameters:
piDataMessage - A reference to a com.esri.arcgis.trackinganalyst.IDataMessage (in)
Returns:
The plRowID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.