com.esri.arcgis.geodatabase
Class IPlugInCursorHelperProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.IPlugInCursorHelperProxy
All Implemented Interfaces:
IPlugInCursorHelper, Externalizable, Serializable

public class IPlugInCursorHelperProxy
extends com.esri.arcgis.interop.Dispatch
implements IPlugInCursorHelper, 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

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IPlugInCursorHelperProxy()
           
  IPlugInCursorHelperProxy(Object obj)
           
protected IPlugInCursorHelperProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 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.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IPlugInCursorHelperProxy

public IPlugInCursorHelperProxy()

IPlugInCursorHelperProxy

public IPlugInCursorHelperProxy(Object obj)
                         throws IOException
Throws:
IOException

IPlugInCursorHelperProxy

protected IPlugInCursorHelperProxy(Object obj,
                                   String iid)
                            throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

nextRecord

public void nextRecord()
                throws 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

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

isFinished

public boolean isFinished()
                   throws 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

Specified by:
isFinished in interface IPlugInCursorHelper
Returns:
The finished
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryValues

public int queryValues(IRowBuffer row)
                throws 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

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

queryShape

public void queryShape(IGeometry pGeometry)
                throws 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

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

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException
ClassNotFoundException