com.esri.arcgis.geodatabase
Interface IPlugInWorkspaceFactoryHelper

All Superinterfaces:
Serializable
All Known Subinterfaces:
IPlugInWorkspaceFactoryHelper2
All Known Implementing Classes:
FMEWorkspaceFactory, SDCWorkspaceFactory, StreetMapWorkspaceFactory

public interface IPlugInWorkspaceFactoryHelper
extends Serializable

Provides access to members that help the Plug-In workspace factory.

Superseded By

IPlugInWorkspaceFactoryHelper2

When To Use

When you create a plug-in data source, your custom PlugInWorkspaceFactoryHelper must support the IPlugInWorkspaceFactoryHelper interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


Method Summary
 boolean containsWorkspace(String parentDirectory, IFileNames fileNames)
          Indicates if parentDirectory contains a valid workspace, or is a valid file-system workspace.
 String getDatasetDescription(int datasetType)
          A desription of a detaset of the type specified.
 String getDataSourceName()
          The name of the data source.
 String getWorkspaceDescription(boolean plural)
          A singular or plural description of the type of workspace the workspace factory opens.
 IUID getWorkspaceFactoryTypeID()
          The class ID which is registered in the WorkspaceFactory category.
 String getWorkspaceString(String parentDirectory, IFileNames fileNames)
          If parentDirectory is or contains a valid workspace, gets a string uniquely identifying that workspace.
 int getWorkspaceType()
          The type of workspace the workspace factory opens.
 boolean isCanSupportSQL()
          Indicates whether datasets of this type can process SQL queries.
 boolean isWorkspace(String wksString)
          Tests if the workspace string represents a valid workspace.
 IPlugInWorkspaceHelper openWorkspace(String wksString)
          Opens a workspace helper for the workspace identified by the workspace string.
 

Method Detail

getDataSourceName

String getDataSourceName()
                         throws IOException,
                                AutomationException
The name of the data source.

Description

The DataSourceName property returns the name of the plug-in data source.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDatasetDescription

String getDatasetDescription(int datasetType)
                             throws IOException,
                                    AutomationException
A desription of a detaset of the type specified.

Product Availability

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

Parameters:
datasetType - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
The dsDesc
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWorkspaceDescription

String getWorkspaceDescription(boolean plural)
                               throws IOException,
                                      AutomationException
A singular or plural description of the type of workspace the workspace factory opens.

Product Availability

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

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

getWorkspaceFactoryTypeID

IUID getWorkspaceFactoryTypeID()
                               throws IOException,
                                      AutomationException
The class ID which is registered in the WorkspaceFactory category.

Description

If the plug-in workspace factory helper class is written in C++, returns the CLSID of the that class. Otherwise, returns a proxy CLSID, which will be used as the CLSID of the workspace factory for the data source.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getWorkspaceType

int getWorkspaceType()
                     throws IOException,
                            AutomationException
The type of workspace the workspace factory opens.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A com.esri.arcgis.geodatabase.esriWorkspaceType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanSupportSQL

boolean isCanSupportSQL()
                        throws IOException,
                               AutomationException
Indicates whether datasets of this type can process SQL queries.

Description

Should return true if the data access library can process where clauses. If this returns true, workspace factory helpers returned by OpenWorkspace should implement ISQLSyntax.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isWorkspace

boolean isWorkspace(String wksString)
                    throws IOException,
                           AutomationException
Tests if the workspace string represents a valid workspace.

Description

Takes a workspace string, and determines if it refers to an actual workspace. Should return true if OpenWorkspace is expected to succeed for this workspace string.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

containsWorkspace

boolean containsWorkspace(String parentDirectory,
                          IFileNames fileNames)
                          throws IOException,
                                 AutomationException
Indicates if parentDirectory contains a valid workspace, or is a valid file-system workspace.

Description

If fileNames is null, returns IsWorkspace for this parentDirectory. If fileNames is not null, returns true if the parentDirectory, which contains the files and folders listed in fileNames, contains a workspace of this type.
File-based data sources: True if any of the files in fileNames are datasets of this type.
Folder-based data sources: True if any of the folders in fileNames are datasets of this type.
Database data sources: True if any of the files in fileNames are workspaces of this type or connection files to workspaces of this type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
parentDirectory - The parentDirectory (in)
fileNames - A reference to a com.esri.arcgis.system.IFileNames (in)
Returns:
The containsWorkspace
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWorkspaceString

String getWorkspaceString(String parentDirectory,
                          IFileNames fileNames)
                          throws IOException,
                                 AutomationException
If parentDirectory is or contains a valid workspace, gets a string uniquely identifying that workspace.

Description

If (1) the fileNames parameter is not null and ContainsWorkspace is true for this parentDirectory and list of fileNames, or (2) fileNames is null and IsWorkspace returns true for this parentDirectory, this method returns a string which represents this workspace and succeeds with S_OK as the HRESULT. Otherwise it returns null and succeeds with S_FALSE as the HRESULT. In the case where the fileNames parameter is not null, you must remove any files from the array that belong to your data source.

Note that for database data sources, parentDirectory will be the database or connection file when fileNames is null.

Remarks

This string can be passed to OpenWorkspace to open the workspace helper class for this workspace. For file- and folder-based data sources, the parentDirectory is considered the workspace. For database data sources, the first database in the list is considered the workspace. Files claimed by this data source (including .xml metadata files) must be removed from fileNames. (Note that database data sources should only remove the first database.) This function will be called repeatedly until it fails.
The content of the workspace strings is determined solely by the plug-in. Workspace strings are obtained from GetWorkspaceString and passed to IsWorkspace and OpenWorkspace. They are used as a lightweight representation of a workspace. For many data sources, the path to the workspace will be a good workspace string, but the strings can be anything. However, workspace strings containing reserved characters such as '=' should be enclosed by parentheses so that parsing will be safe.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
parentDirectory - The parentDirectory (in)
fileNames - A reference to a com.esri.arcgis.system.IFileNames (in)
Returns:
The wksString
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

openWorkspace

IPlugInWorkspaceHelper openWorkspace(String wksString)
                                     throws IOException,
                                            AutomationException
Opens a workspace helper for the workspace identified by the workspace string.

Description

Creates and initializes an instance of the workspace helper class and returns its IPlugInWorkspaceHelper pointer. The wksString may have been obtained from GetWorkspaceString, or it may be a custom string specified to IWorkspaceFactory::Open. If the wksString is not valid, the method should fail and return a null pointer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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