com.esri.arcgis.geodatabase
Interface IPlugInCursorHelper

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
FMECursorHelper, IPlugInCursorHelperProxy

public interface IPlugInCursorHelper
extends java.io.Serializable

Provides access to members that help the Plug-In cursor.

Description

This interface must be implemented by the plug-in cursor helper class of a plug-in data source. When the cursor is created QueryValues and QueryShape get the data for the first record in the results. NextRecord advances the current record, so that QueryValues and QueryShape then get data for the next record.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


Method Summary
 boolean isFinished()
          Returns True if there are no more records in the record set.
 void nextRecord()
          Gets the next row in the record set.
 void queryShape(IGeometry pGeometry)
          Gets the geometry of the current record.
 int queryValues(IRowBuffer row)
          Gets the values for the non-geometry fields in the current record.
 

Method Detail

nextRecord

void nextRecord()
                throws java.io.IOException,
                       AutomationException
Gets the next row in the record set.

Description

NextRecord advances the cursor helper to represent the next record in the collection. Calling this method repeatedly should get all the records in the results without getting any record twice. This method fails when there are no more records left to get.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFinished

boolean isFinished()
                   throws java.io.IOException,
                          AutomationException
Returns True if there are no more records in the record set.

Description

Returns true if there are no more records to get from the cursor. IsFinished is called any time that NextRecord fails.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The finished
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryValues

int queryValues(IRowBuffer row)
                throws java.io.IOException,
                       AutomationException
Gets the values for the non-geometry fields in the current record.

Description

Copies data from the current record into the row that is passed in. The method should get the field-set from the row buffer. The field map passed to the Fetch method determines which fields will be copied. For each field in the field set, the data should be copied only if the corresponding value in the field map is not -1.

However, the shape and object ID fields should NOT be copied. The shape field is handled separately in QueryShape. The object ID cannot be set through the IRowBuffer interface. Instead, the object ID should be the return value of QueryValues.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
row - A reference to a com.esri.arcgis.geodatabase.IRowBuffer (in)
Returns:
The oID
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryShape

void queryShape(IGeometry pGeometry)
                throws java.io.IOException,
                       AutomationException
Gets the geometry of the current record.

Description

QueryShape uses the data in the shape field of the current record to populate the geometry. If anything goes wrong, the geometry should be set empty.

This method should not allocate memory. For simple shapes you can reset the contents of the supplied geometry object. For data sources with complex shapes it is more efficient to use the AttachtoESRIShape method on IESRIShape to attach a shape buffer to the geometry. This shape buffer should be reused for each geometry. For information on the shape buffer, see the white paper on shapefiles, which use the same shape format, found at http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
pGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.