com.esri.arcgis.datainterop
Class FMEWorkspaceFactory

java.lang.Object
  extended by com.esri.arcgis.datainterop.FMEWorkspaceFactory
All Implemented Interfaces:
IPlugInWorkspaceFactoryHelper, IPlugInWorkspaceFactoryHelper2, com.esri.arcgis.interop.RemoteObjRef, ISupportErrorInfo, Serializable

public class FMEWorkspaceFactory
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IPlugInWorkspaceFactoryHelper2, ISupportErrorInfo

FMEWorkspaceFactory Class

Product Availability

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

See Also:
Serialized Form

Constructor Summary
FMEWorkspaceFactory()
          Constructs a FMEWorkspaceFactory using ArcGIS Engine.
FMEWorkspaceFactory(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
FMEWorkspaceFactory theFMEWorkspaceFactory = (FMEWorkspaceFactory) obj;
 
Method Summary
 boolean containsWorkspace(String parentDirectory, IFileNames fileNames)
          Indicates if parentDirectory contains a valid workspace, or is a valid file-system workspace.
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 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.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 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.
 IPlugInWorkspaceHelper openWorkspaceEx(String wksString, IPropertySet pConnectionProps)
          Opens a workspace helper for the workspace identified by the workspace string, using the connection properties.
 
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

FMEWorkspaceFactory

public FMEWorkspaceFactory()
                    throws IOException,
                           UnknownHostException
Constructs a FMEWorkspaceFactory using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

FMEWorkspaceFactory

public FMEWorkspaceFactory(Object obj)
                    throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
FMEWorkspaceFactory theFMEWorkspaceFactory = (FMEWorkspaceFactory) obj;

Construct a FMEWorkspaceFactory using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to FMEWorkspaceFactory.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


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

openWorkspaceEx

public IPlugInWorkspaceHelper openWorkspaceEx(String wksString,
                                              IPropertySet pConnectionProps)
                                       throws IOException,
                                              AutomationException
Opens a workspace helper for the workspace identified by the workspace string, using the connection properties.

Product Availability

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

Specified by:
openWorkspaceEx in interface IPlugInWorkspaceFactoryHelper2
Parameters:
wksString - The wksString (in)
pConnectionProps - A reference to a com.esri.arcgis.system.IPropertySet (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.

getDataSourceName

public 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

Specified by:
getDataSourceName in interface IPlugInWorkspaceFactoryHelper
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDatasetDescription

public 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.

Specified by:
getDatasetDescription in interface IPlugInWorkspaceFactoryHelper
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

public 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.

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

getWorkspaceFactoryTypeID

public 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

Specified by:
getWorkspaceFactoryTypeID in interface IPlugInWorkspaceFactoryHelper
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

public 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

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

isCanSupportSQL

public 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

Specified by:
isCanSupportSQL in interface IPlugInWorkspaceFactoryHelper
Returns:
The canSupportSQL
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isWorkspace

public 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

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

containsWorkspace

public 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

Specified by:
containsWorkspace in interface IPlugInWorkspaceFactoryHelper
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

public 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

Specified by:
getWorkspaceString in interface IPlugInWorkspaceFactoryHelper
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

public 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

Specified by:
openWorkspace in interface IPlugInWorkspaceFactoryHelper
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.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.