com.esri.arcgis.geodatabase
Interface IPlugInDatasetHelper

All Superinterfaces:
Serializable
All Known Subinterfaces:
IPlugInDatasetHelper2
All Known Implementing Classes:
FMEDatasetHelper, IPlugInDatasetHelper2Proxy, IPlugInDatasetHelperProxy

public interface IPlugInDatasetHelper
extends Serializable

Provides access to members that help Plug-In datasets.

Superseded By

IPlugInDatasetHelper2

Description

This interface must be implemented by the plug-in dataset helper class of a plug-in data source.

Remarks

In the following, the term 'class' is used as a general terming meaning 'feature class or table'. Some of the methods on this interface have a classIndex parameter, because these methods can have different results for different classes within a feature dataset. If the dataset is not a feature dataset, the parameter will always have a value of 0 and may be ignored by the implementation. If the dataset is a feature dataset, the value will be the index of a feature class in the dataset (0 <= classIndex < result of get_ClassCount).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


Method Summary
 IPlugInCursorHelper fetchAll(int classIndex, String whereClause, Object fieldMap)
          Gets all the records in the database.
 IPlugInCursorHelper fetchByEnvelope(int classIndex, IEnvelope env, boolean strictSearch, String whereClause, Object fieldMap)
          Gets the records within the envelope (or the full extent if the envelope is null).
 IPlugInCursorHelper fetchByID(int classIndex, int iD, Object fieldMap)
          Gets a record by object id.
 IEnvelope getBounds()
          The extent of the dataset.
 int getClassCount()
          The number of classes in the dataset.
 int getClassIndex(String name)
          The index of the named class.
 String getClassName(int index)
          The name of the indicated class.
 IFields getFields(int classIndex)
          The field set of the indicated class.
 int getOIDFieldIndex(int classIndex)
          The index of the oid field in the field set of the indicated dataset.
 int getShapeFieldIndex(int classIndex)
          The index of the shape field in the field set of the indicated dataset.
 

Method Detail

getClassCount

int getClassCount()
                  throws IOException,
                         AutomationException
The number of classes in the dataset.

Description

Returns the number of classes contained in this dataset. Tables and standalone feature classes should return 1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getClassName

String getClassName(int index)
                    throws IOException,
                           AutomationException
The name of the indicated class.

Product Availability

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

Parameters:
index - The index (in)
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassIndex

int getClassIndex(String name)
                  throws IOException,
                         AutomationException
The index of the named class.

Product Availability

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

Parameters:
name - The name (in)
Returns:
The index
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBounds

IEnvelope getBounds()
                    throws IOException,
                           AutomationException
The extent of the dataset.

Description

Gets an envelope which is the full extent of the data in the dataset. Implementations of the getBounds method should employ the com.esri.arcgis.geometry.Envelope class to define and return an envelope that corresponds to the full extent of the data in the dataset. The spatial reference property on the envelope must be set. All feature classes in a feature dataset share the same bounds and spatial reference.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFields

IFields getFields(int classIndex)
                  throws IOException,
                         AutomationException
The field set of the indicated class.

Product Availability

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

Parameters:
classIndex - The classIndex (in)
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.

getOIDFieldIndex

int getOIDFieldIndex(int classIndex)
                     throws IOException,
                            AutomationException
The index of the oid field in the field set of the indicated dataset.

Product Availability

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

Parameters:
classIndex - The classIndex (in)
Returns:
The oIDFieldIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getShapeFieldIndex

int getShapeFieldIndex(int classIndex)
                       throws IOException,
                              AutomationException
The index of the shape field in the field set of the indicated dataset.

Product Availability

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

Parameters:
classIndex - The classIndex (in)
Returns:
The shapeFieldIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fetchByID

IPlugInCursorHelper fetchByID(int classIndex,
                              int iD,
                              Object fieldMap)
                              throws IOException,
                                     AutomationException
Gets a record by object id.

Description

Returns a record by object ID. The cursor will have a single record. If there is no object with the given id, this method should fail.

FieldMap indicates which fields should be returned by the query. See IPlugInCursorHelper::QueryValues and IPlugInFastQueryValues::FastQueryValues for a description of how to use the field map.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
classIndex - The classIndex (in)
iD - The iD (in)
fieldMap - A Variant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IPlugInCursorHelper
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fetchAll

IPlugInCursorHelper fetchAll(int classIndex,
                             String whereClause,
                             Object fieldMap)
                             throws IOException,
                                    AutomationException
Gets all the records in the database.

Description

Returns a cursor of all the records in the dataset that match the optional where clause. An empty or null where clause means all records should be returned. The where clause will always be null if IPlugInWorkspaceFactoryHelper::CanSupportSQL returns false. The method should fail if there are no records.

The field map indicates which fields should be returned by the query. See IPlugInCursorHelper::QueryValues and IPlugInFastQueryValues::FastQueryValues for a description of how to use the field map.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
classIndex - The classIndex (in)
whereClause - The whereClause (in)
fieldMap - A Variant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IPlugInCursorHelper
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fetchByEnvelope

IPlugInCursorHelper fetchByEnvelope(int classIndex,
                                    IEnvelope env,
                                    boolean strictSearch,
                                    String whereClause,
                                    Object fieldMap)
                                    throws IOException,
                                           AutomationException
Gets the records within the envelope (or the full extent if the envelope is null).

Description

Returns a record set of all records that are in the envelope and that match the optional where clause. The where clause will always be null if IPlugInWorkspaceFactoryHelper::CanSupportSQL returns false. The method should fail if there are no records in the envelope that match the optional where clause.

Fieldmap indicates which fields should be returned by the query. See IPlugInCursorHelper::QueryValues and IPlugInFastQueryValues::FastQueryValues for a description of how to use the field map.

Many data sources use spatial indexes or other spatial organization methods. If strictSearch is false, these data sources should return a cursor containing all the records which are in indexes or blocks within the query envelope. If strictSearch is true, the cursor should contain only the records within the envelope. Data sources that donít use indexes or blocks may ignore this parameter.

Remarks

The FetchByEnvelope function returns all records in the Dataset if the Envelope parameter given is Nothing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
classIndex - The classIndex (in)
env - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
strictSearch - The strictSearch (in)
whereClause - The whereClause (in)
fieldMap - A Variant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IPlugInCursorHelper
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.