com.esri.arcgis.trackinganalyst
Class TemporalObservationTable

java.lang.Object
  extended by com.esri.arcgis.trackinganalyst.TemporalObservationTable
All Implemented Interfaces:
IInternalTable, ITemporalObservationsTable, ITemporalObservationsTable2, ITemporalTable, com.esri.arcgis.interop.RemoteObjRef, ISupportErrorInfo, 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.

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.

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.

Product Availability

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

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.

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.

Product Availability

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

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.

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.

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.

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.

Product Availability

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

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.

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).

Product Availability

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

Specified by:
getPurgeRule in interface ITemporalObservationsTable
Returns:
A com.esri.arcgis.geodatabaseextensions.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.

Specified by:
setPurgeRule in interface ITemporalObservationsTable
Parameters:
pVal - A com.esri.arcgis.geodatabaseextensions.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.

Product Availability

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

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.

Product Availability

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

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.

Product Availability

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

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.

Product Availability

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Product Availability

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

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.

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.

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.

Specified by:
addRow in interface IInternalTable
Parameters:
piDataMessage - A reference to a com.esri.arcgis.geodatabaseextensions.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.