com.esri.arcgis.datasourcesfile
Class ArcInfoWorkspaceFactory

java.lang.Object
  extended by com.esri.arcgis.datasourcesfile.ArcInfoWorkspaceFactory
All Implemented Interfaces:
IWorkspaceFactory, IWorkspaceFactory2, com.esri.arcgis.interop.RemoteObjRef, IParseNameString, ISupportErrorInfo, Serializable

public class ArcInfoWorkspaceFactory
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IWorkspaceFactory, IWorkspaceFactory2, ISupportErrorInfo, IParseNameString

Workspace factory used to create workspace objects for ArcInfo coverages and Info tables.

Remarks

You create an ArcInfoWorkspaceFactory object to work with ArcGIS for Desktop Advanced workspaces that have coverage and Info tables data.

After creating a new instance of the arcinfoworkspacefactory obejct, use the Open or OpenfromFile method to get a Workspace object that is used to actually work with the data.

Note that the IWorkSpaceFactory::Copy and IWorkSpaceFactory::Move methods cannot be used with an ArcInfoWorkspaceFactory.

Values specific to a ArcInfoWorkspaceFactory are:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Singleton:

This type is a singleton.

See Also:
Serialized Form

Constructor Summary
ArcInfoWorkspaceFactory()
          Constructs a ArcInfoWorkspaceFactory using ArcGIS Engine.
ArcInfoWorkspaceFactory(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ArcInfoWorkspaceFactory theArcInfoWorkspaceFactory = (ArcInfoWorkspaceFactory) obj;
 
Method Summary
 boolean canParse(String nameString)
          Indicates if the given name string can be parsed by this parser.
 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 getWorkspaceDescription(boolean plural)
          A singular or plural description of the type of workspace the workspace factory opens/creates.
 IWorkspaceName getWorkspaceName(String parentDirectory, IFileNames fileNames)
          Retrieves the workspace name of a workspace from the given list of file names.
 int getWorkspaceType()
          The type of workspace the workspace factory opens/creates.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isWorkspace(String fileName)
          True if the specified file identifies a workspace supported by the workspace factory.
 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.
 IName parse(String nameString)
          Parses the name string and returns a new Name object.
 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

ArcInfoWorkspaceFactory

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

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

ArcInfoWorkspaceFactory

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

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

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

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.

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.

Remarks

ContainsWorkspace is useful when browsing the file system for workspaces. It takes a parent directory and the list of file names in the directory to be examined. It returns true if the parent directory represents a workspace covered by this factory or if the parent directory contains a workspace or a connection file to a workspace covered by this factory.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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.

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.

isWorkspace

public boolean isWorkspace(String fileName)
                    throws IOException,
                           AutomationException
True if the specified file identifies a workspace supported by the workspace factory.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isWorkspace in interface IWorkspaceFactory
Parameters:
fileName - The fileName (in)
Returns:
The isWorkspace
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.

getWorkspaceDescription

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

Product Availability

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

Specified by:
getWorkspaceDescription in interface IWorkspaceFactory
Parameters:
plural - The plural (in)
Returns:
The description
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/creates.

Remarks

The WorkspaceType property of a WorkspaceFactory returns information on the type of workspace managed by the WorkspaceFactory. Workspaces are classified into the following types specified by the esriWorkspaceType enumeration; FileSystemWorkspace, LocalDatabaseWorkspace, and RemoteDatabaseWorkspace.
See esriWorkspaceType for information on the types of workspaces.
Shapefiles workspaces are examples of FileSystemWorkspace. Personal and File Geodatabases are examples of LocalDatabaseWorkspace. An ArcSDE Geodatabase is an example of a RemoteDatabaseWorkspace.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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.

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.

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.

canParse

public boolean canParse(String nameString)
                 throws IOException,
                        AutomationException
Indicates if the given name string can be parsed by this parser.

Description

Indicates if the given string can be parsed by this parser. Use the CanParse method before using the Parse method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canParse in interface IParseNameString
Parameters:
nameString - The nameString (in)
Returns:
The canParse
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

parse

public IName parse(String nameString)
            throws IOException,
                   AutomationException
Parses the name string and returns a new Name object.

Description

Returns a new Name object by parsing the given string. Use the CanParse method first to ensure the string can be parsed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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