com.esri.arcgis.carto
Class FeatureServiceWorkspaceFactory

java.lang.Object
  extended by com.esri.arcgis.carto.FeatureServiceWorkspaceFactory
All Implemented Interfaces:
IPlugInWorkspaceFactoryHelper, IPlugInWorkspaceFactoryHelper2, IWorkspaceFactory, IWorkspaceFactory2, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class FeatureServiceWorkspaceFactory
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IPlugInWorkspaceFactoryHelper, IPlugInWorkspaceFactoryHelper2, IWorkspaceFactory, IWorkspaceFactory2

FeatureService workspace factory.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
FeatureServiceWorkspaceFactory()
          Constructs a FeatureServiceWorkspaceFactory using ArcGIS Engine.
FeatureServiceWorkspaceFactory(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
FeatureServiceWorkspaceFactory theFeatureServiceWorkspaceFactory = (FeatureServiceWorkspaceFactory) obj;
 
Method Summary
 boolean containsWorkspace(String parentDirectory, IFileNames fileNames)
          Indicates if parentDirectory contains a valid workspace, or is a valid file-system workspace.
 boolean copy(IWorkspaceName workspaceName, String destinationFolder, IWorkspaceName[] workspaceNameCopy)
          Copies a workspace to the specified destination folder.
 IWorkspaceName create(String parentDirectory, String name, IPropertySet connectionProperties, int hWnd)
          Creates a new workspace specified by the directory, file name, and connection properties.
 boolean equals(Object o)
          Compare this object with another
 IUID getClassID()
          The class ID of the WorkspaceFactory.
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.
 IWorkspaceName getWorkspaceName(String parentDirectory, IFileNames fileNames)
          Retrieves the workspace name of a workspace from the given list of file names.
 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
 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.
 boolean move(IWorkspaceName workspaceName, String destinationFolder)
          Moves a workspace to the specified destination folder.
 IWorkspace open(IPropertySet connectionProperties, int hWnd)
          Opens the workspace specified by the connection properties.
 IWorkspace openFromFile(String fileName, int hWnd)
          Opens the workspace specified by the given file name.
 IWorkspace openFromString(String connectStr, int hWnd)
          Opens the workspace specified by a connection string.
 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.
 IPropertySet readConnectionPropertiesFromFile(String fileName)
          The connection properties from the specified file.
 
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

FeatureServiceWorkspaceFactory

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

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

FeatureServiceWorkspaceFactory

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

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

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

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
Specified by:
getWorkspaceDescription in interface IWorkspaceFactory
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
Specified by:
getWorkspaceType in interface IWorkspaceFactory
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
Specified by:
isWorkspace in interface IWorkspaceFactory
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
Specified by:
containsWorkspace in interface IWorkspaceFactory
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.

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.

open

public IWorkspace open(IPropertySet connectionProperties,
                       int hWnd)
                throws IOException,
                       AutomationException
Opens the workspace specified by the connection properties.

Remarks

Open takes as input a property set of connection properties that specify the workspace to connect to. In the case of file system workspaces and local database workspaces, a single property named DATABASE, whose value is the pathname to the workspace, is usually all that is required. In the case of remote database workspaces accessed via ArcSDE the properties can include the USER, PASSWORD, DATABASE, SERVER, INSTANCE, VERSION, HISTORICAL_NAME, HISTORICAL_TIMESTAMP, and AUTHENTICATION_MODE properties of the database being connected to.

List of acceptable connection property names and a brief description of each

"SERVER" – SDE server name you are connecting to.

"INSTANCE" – Instance you are connection to.

"DATABASE" – Database connected to.

"USER" – Connected user.

"PASSWORD" – Connected password.

"AUTHENTICATION_MODE" – Credential authentication mode of the connection. Acceptable values are "OSA" and "DBMS".

"VERSION" – Transactional version to connect to. Acceptable value is a string that represents a transaction version name.

"HISTORICAL_NAME" – Historical version to connect to. Acceptable value is a string type that represents a historical marker name.

"HISTORICAL_TIMESTAMP" – Moment in history to establish an historical version connection. Acceptable value is a date time that represents a moment timestamp.

Notes:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
open in interface IWorkspaceFactory
Parameters:
connectionProperties - A reference to a com.esri.arcgis.system.IPropertySet (in)
hWnd - The hWnd (A COM typedef) (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspace
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

openFromFile

public IWorkspace openFromFile(String fileName,
                               int hWnd)
                        throws IOException,
                               AutomationException
Opens the workspace specified by the given file name.

Remarks

OpenFromFile takes the pathname of a file or directory that represents either a FileSystemWorkspace or LocalDatabaseWorkspace, or a connection file to a RemoteDatabase workspace and returns an interface on the specified workspace. Clients of these methods can then proceed to open and access datasets in the workspace. If these methods are called with insufficient properties, then the user will be presented with a connection dialog that will prompt for the required properties.

The hWnd argument is the parent window or application's window. The hWnd will guarantee that the connection dialog, if presented to you because of insufficient properties, has the correct parent.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
openFromFile in interface IWorkspaceFactory
Parameters:
fileName - The fileName (in)
hWnd - The hWnd (A COM typedef) (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspace
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

create

public IWorkspaceName create(String parentDirectory,
                             String name,
                             IPropertySet connectionProperties,
                             int hWnd)
                      throws IOException,
                             AutomationException
Creates a new workspace specified by the directory, file name, and connection properties.

Remarks

Create has different results depending on the type of workspace factory. If you are working with ArcSDE, a new connection file (.sde) is created. If you are working with an ArcGIS for Desktop Advanced workspace factory, a folder with an INFO subfolder is created. The optional ConnectionProperties parameter specifies any additional connection properties needed, such as the server, instance, user and password in the case where a connection file to a remote database workspace is being created. If no connection properties are specified, this method will result in a dialog being displayed that prompts the user for the required properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
create in interface IWorkspaceFactory
Parameters:
parentDirectory - The parentDirectory (in)
name - The name (in)
connectionProperties - A reference to a com.esri.arcgis.system.IPropertySet (in)
hWnd - The hWnd (A COM typedef) (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspaceName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWorkspaceName

public IWorkspaceName getWorkspaceName(String parentDirectory,
                                       IFileNames fileNames)
                                throws IOException,
                                       AutomationException
Retrieves the workspace name of a workspace from the given list of file names.

Remarks

GetWorkspaceName is useful when browsing the file system for workspaces. It is handed in a parent directory and the list of file names in the directory to be examined. It returns a WorkspaceName object representing the first workspace it finds in the list of filenames and removes any filenames representing the workspace from the input list of filenames.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getClassID

public IUID getClassID()
                throws IOException,
                       AutomationException
The class ID of the WorkspaceFactory.

Remarks

GetClassID returns the unique identifier for the workspace factory. You can use this to distinguish different versions of the same type of factory, for example, whether you are working with an SDEWorkspace, FileGDBWorkspace or AccessWorkspace factory.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IWorkspaceFactory
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.

readConnectionPropertiesFromFile

public IPropertySet readConnectionPropertiesFromFile(String fileName)
                                              throws IOException,
                                                     AutomationException
The connection properties from the specified file.

Remarks

The filename parameter represents the pathname of a file that contains the connection information to be placed into the IPropertySet variable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
readConnectionPropertiesFromFile in interface IWorkspaceFactory
Parameters:
fileName - The fileName (in)
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

copy

public boolean copy(IWorkspaceName workspaceName,
                    String destinationFolder,
                    IWorkspaceName[] workspaceNameCopy)
             throws IOException,
                    AutomationException
Copies a workspace to the specified destination folder.

Remarks

The Copy and Move methods can be used to copy or move workspaces or connection files between folders in the file system. The Boolean result indicates if the operation was successful. In the case of remote database workspaces, these operations work on the connection file representing the workspace.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
copy in interface IWorkspaceFactory
Parameters:
workspaceName - A reference to a com.esri.arcgis.geodatabase.IWorkspaceName (in)
destinationFolder - The destinationFolder (in)
workspaceNameCopy - A reference to a com.esri.arcgis.geodatabase.IWorkspaceName (out: use single element array)
Returns:
The successfulCopy
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

move

public boolean move(IWorkspaceName workspaceName,
                    String destinationFolder)
             throws IOException,
                    AutomationException
Moves a workspace to the specified destination folder.

Remarks

The Copy and Move methods can be used to copy or move workspaces or connection files between folders in the file system. The Boolean result indicates if the operation was successful. In the case of remote database workspaces, these operations work on the connection file representing the workspace.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
move in interface IWorkspaceFactory
Parameters:
workspaceName - A reference to a com.esri.arcgis.geodatabase.IWorkspaceName (in)
destinationFolder - The destinationFolder (in)
Returns:
The successfulMove
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

openFromString

public IWorkspace openFromString(String connectStr,
                                 int hWnd)
                          throws IOException,
                                 AutomationException
Opens the workspace specified by a connection string.

Remarks

The connect string is a collection of name value pairs separated by a semicolon (;).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
openFromString in interface IWorkspaceFactory2
Parameters:
connectStr - The connectStr (in)
hWnd - The hWnd (A COM typedef) (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspace
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.