com.esri.arcgis.trackinganalyst
Class TemporalCursor

java.lang.Object
  extended by com.esri.arcgis.trackinganalyst.TemporalCursor
All Implemented Interfaces:
ICursor, IFeatureCursor, com.esri.arcgis.interop.RemoteObjRef, ITemporalCursor, Serializable

public class TemporalCursor
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ICursor, IFeatureCursor, ITemporalCursor

Controls settings for the temporal cursor.

Description

This class implements a temporal cursor that allows users to iterate through a database in temporal order. This is a non-creatable object that is the result of an operation of a Temporal FeatureClass, TemporalObjectTable or a TemporalObservation Table.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
TemporalCursor(Object obj)
          Construct a TemporalCursor using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void deleteFeature()
          Delete the existing Feature in the database corresponding to the current position of the cursor.
 void deleteRow()
          Delete the existing Row in the database corresponding to the current position of the cursor.
 boolean equals(Object o)
          Compare this object with another
 int findField(String name)
          The index of the field with the specified name.
 void flush()
          Flush any outstanding buffered writes to the database.
 IFields getFields()
          The Fields Collection for this cursor.
 int hashCode()
          the hashcode for this object
 Object insertFeature(IFeatureBuffer buffer)
          Insert a new Feature into the database using the property values in the input buffer.
 Object insertRow(IRowBuffer buffer)
          Insert a new Row into the database using the property values in the input buffer.
 IFeature nextFeature()
          Advance the position of the cursor by one and return the Feature object at that position.
 void nextObject(IFeature[] ppiFeature, Object[] pvarTimeSeries, long[] phyTimeStamp, int[] plOID)
          Advances the position of the cursor by one and returns the feature object at that position.
 IRow nextRow()
          Advance the position of the cursor by one and return the Row object at that position.
 void reset()
          Resets the cursor position.
 void updateFeature(IFeature object)
          Update the existing Feature in the database corresponding to the current position of the cursor.
 void updateRow(IRow row)
          Update the existing Row in the database corresponding to the current position of the cursor.
 
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

TemporalCursor

public TemporalCursor(Object obj)
               throws IOException
Construct a TemporalCursor using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to TemporalCursor.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
TemporalCursor o = (TemporalCursor)obj; // will not work

TemporalCursor o = new TemporalCursor(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems TemporalCursor theTemporalCursor = (TemporalCursor) obj;
Method Detail

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

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.

Supported Platforms

Windows, Solaris, Linux

Specified by:
findField in interface ICursor
Specified by:
findField in interface IFeatureCursor
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 cursor.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFields in interface ICursor
Specified by:
getFields in interface IFeatureCursor
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.

nextRow

public IRow nextRow()
             throws IOException,
                    AutomationException
Advance the position of the cursor by one and return the Row object at that position.

Remarks

The NextRow method on a search or update cursor returns the next row in the result set to the application. The row object returned is allocated and hydrated by the cursor, and a reference to it is handed to the application. To retrieve all rows in a result set containing N rows, the application must make N calls to NextRow. In VB, a call to NextRow after the last row in the result set has been retrieved returns Nothing. In C++, a call to NextRow after the last row in the result set has been retrieved returns a value of S_FALSE and sets the output row reference to 0.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
nextRow in interface ICursor
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.

updateRow

public void updateRow(IRow row)
               throws IOException,
                      AutomationException
Update the existing Row in the database corresponding to the current position of the cursor.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deleteRow

public void deleteRow()
               throws IOException,
                      AutomationException
Delete the existing Row in the database corresponding to the current position of the cursor.

Remarks

The cursor must be initialized to a row (with the NextRow method) before this method can be successfully called.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

insertRow

public Object insertRow(IRowBuffer buffer)
                 throws IOException,
                        AutomationException
Insert a new Row into the database using the property values in the input buffer. The object ID of the new Row, if there is one, is returned.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

flush

public void flush()
           throws IOException,
                  AutomationException
Flush any outstanding buffered writes to the database.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

nextFeature

public IFeature nextFeature()
                     throws IOException,
                            AutomationException
Advance the position of the cursor by one and return the Feature object at that position.

Remarks

If you fetch features out of a geodatabase using a cursor (recycling or non recycling), the spatial reference of the feature, as returned by NextFeature, is guaranteed to be in the spatial reference that you specified in the query filter .

No guarantee however is made that the geometry of the feature will continue to remain in this spatial reference. In particular, if you use a non recycling cursor, then the feature you fetch will be shared with other consumers and any one of these may change its spatial reference at any time. It is the developers responsibility to test the spatial reference or the geometry you get from the feature (via IFeature::Shape) if you retrieve the geometry at a later time and rely on its spatial reference being a specified spatial reference.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

updateFeature

public void updateFeature(IFeature object)
                   throws IOException,
                          AutomationException
Update the existing Feature in the database corresponding to the current position of the cursor.

Remarks

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deleteFeature

public void deleteFeature()
                   throws IOException,
                          AutomationException
Delete the existing Feature in the database corresponding to the current position of the cursor.

Remarks

The cursor must be initialized to a feature (with the NextFeature() method) before this method can be successfully called.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

insertFeature

public Object insertFeature(IFeatureBuffer buffer)
                     throws IOException,
                            AutomationException
Insert a new Feature into the database using the property values in the input buffer. The ID of the new Feature is returned.

Remarks

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
insertFeature in interface IFeatureCursor
Parameters:
buffer - A reference to a com.esri.arcgis.geodatabase.IFeatureBuffer (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

nextObject

public void nextObject(IFeature[] ppiFeature,
                       Object[] pvarTimeSeries,
                       long[] phyTimeStamp,
                       int[] plOID)
                throws IOException,
                       AutomationException
Advances the position of the cursor by one and returns the feature object at that position.

Description

Advance the position of the cursor by one and return the Feature object at that position. This routine is optimized to return the individual items that the temporal renderer will need.

Product Availability

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

Specified by:
nextObject in interface ITemporalCursor
Parameters:
ppiFeature - A reference to a com.esri.arcgis.geodatabase.IFeature (in/out: use single element array)
pvarTimeSeries - A Variant (in/out: use single element array)
phyTimeStamp - Signed 64-bit int (in/out: use single element array)
plOID - The plOID (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

public void reset()
           throws IOException,
                  AutomationException
Resets the cursor position.

Description

This method resets the cursor to the first record that it pointed to.

Product Availability

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

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