com.esri.arcgis.geodatabase
Class VersionedWorkspace

java.lang.Object
  extended by com.esri.arcgis.geodatabase.VersionedWorkspace
All Implemented Interfaces:
IDatabaseCompact, IDatabaseConnectionInfo, IDataset, IDatasetContainer, IFeatureWorkspace, IFeatureWorkspaceAnno, IFeatureWorkspaceManage, IFeatureWorkspaceSchemaEdit, IGeodatabaseRelease, ISpatialCacheManager, ISpatialCacheManager2, ISQLSyntax, ITransactions, ITransactionsOptions, IVersion, IVersion2, IVersionEdit, IVersionEdit2, IVersionEdit3, IVersionedWorkspace, IVersionedWorkspace2, IVersionedWorkspace3, IWorkspace, IWorkspaceConfiguration, IWorkspaceDomains, IWorkspaceDomains2, IWorkspaceEdit, IWorkspaceExtensionManager, IWorkspaceProperties, IWorkspaceSpatialReferenceInfo, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class VersionedWorkspace
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IVersionedWorkspace, IVersionedWorkspace2, IVersionedWorkspace3, IVersion, IVersion2, IVersionEdit, IVersionEdit2, IVersionEdit3, IWorkspace, IFeatureWorkspace, IDataset, IDatasetContainer, IWorkspaceEdit, IFeatureWorkspaceManage, IFeatureWorkspaceSchemaEdit, IGeodatabaseRelease, ITransactions, ITransactionsOptions, IWorkspaceDomains, IWorkspaceDomains2, ISpatialCacheManager, ISpatialCacheManager2, IFeatureWorkspaceAnno, IDatabaseCompact, ISQLSyntax, IWorkspaceProperties, IWorkspaceConfiguration, IWorkspaceExtensionManager, IWorkspaceSpatialReferenceInfo, IDatabaseConnectionInfo

VersionedWorkspace Object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
VersionedWorkspace(Object obj)
          Construct a VersionedWorkspace using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void abortEditOperation()
          Aborts an edit operation.
 void abortTransaction()
          Aborts the current transaction.
 void addDataset(IDataset datasetToAdd)
          Adds a dataset to the dataset collection.
 int addDomain(IDomain domain)
          Adds the given domain to the workspace.
 void addIWorkspaceEventsListener(IWorkspaceEvents theListener)
          addIWorkspaceEventsListener.
 void addSymbolCollection(String name, Object symbolCollection)
          Updates the symbol collection in the class extension.
 void alterClassExtensionCLSID(String name, IUID classExtensionCLSID, IPropertySet classExtensionProperties)
          Changes the class extension COM class associated with this database class.
 void alterDomain(IDomain domain)
          Alters an existing domain in the workspace.
 void alterInstanceCLSID(String name, IUID instanceCLSID)
          Changes the instance COM class associated with this database class.
 void analyzeIndex(String tableName, String index)
          Analyze the index to generate DBMS statistics.
 void analyzeTable(String tableName, int tableComponents)
          Analyze the table to generate DBMS statistics.
 boolean canCompact()
          True if this dataset can be compacted.
 boolean canCopy()
          True if this dataset can be copied.
 boolean canDelete()
          True if this dataset can be deleted.
 boolean canDelete(IName aName)
          Checks if an object can be deleted.
 boolean canPost()
          Returns a boolean if the version can be posted to the reconcile version.
 boolean canRename()
          True if this dataset can be renamed.
 boolean canRename(IName aName)
          Checks if an object can be renamed.
 void commitTransaction()
          Commits the current transaction.
 void compact()
          Compacts the database.
 void compress()
          Compresses the database by removing states not referenced by a version.
 IDataset copy(String copyName, IWorkspace copyWorkspace)
          Copies this dataset to a new dataset with the specified name.
 IFeatureClass createAnnotationClass(String name, IFields fields, IUID cLSID, IUID eXTCLSID, String shapeFieldName, String configKeyword, IFeatureDataset dstFeatureDataset, IFeatureClass srcFeatureClass, Object annoProperties, Object referenceScale, Object symbolCollection, boolean autoCreate)
          Creates a new annotation feature class in the workspace.
 IVersion createChild(String name, IVersion pInitialStateVersion)
          Creates a new child version of this version whose initial state is the current state of pInitialStateVersion.
 IFeatureClass createFeatureClass(String name, IFields fields, IUID cLSID, IUID eXTCLSID, int featureType, String shapeFieldName, String configKeyword)
          Creates a new standalone feature class under the workspace.
 IFeatureDataset createFeatureDataset(String name, ISpatialReference spatialReference)
          Creates a new feature dataset.
 IQueryDef createQueryDef()
          Create a query definition object.
 IRelationshipClass createRelationshipClass(String relClassName, IObjectClass originClass, IObjectClass destinationClass, String forwardLabel, String backwardLabel, int cardinality, int notification, boolean isComposite, boolean isAttributed, IFields relAttrFields, String originPrimaryKey, String destPrimaryKey, String originForeignKey, String destForeignKey)
          Creates a new relationship class.
 ITable createTable(String name, IFields fields, IUID cLSID, IUID eXTCLSID, String configKeyword)
          Creates a new table.
 IVersion createVersion(String newName)
          Creates a new version equivalent to this version.
 void delete()
          Permanently deletes the version from the database.
 void deleteByName(IDatasetName aName)
          Deletes an object by it's name.
 void deleteDomain(String domainName)
          Deletes the given domain from the workspace.
 void disableUndoRedo()
          Disables Undo and Redo of edit operations.
 void emptyCache()
          Empties the spatial cache.
 void enableUndoRedo()
          Enables Undo and Redo of edit operations.
 boolean equals(Object o)
          Compare this object with another
 void executeSQL(String sqlStmt)
          Executes the specified SQL statement.
 boolean exists()
          Checks if the workspace exists.
 void fillCache(IEnvelope pExtent)
          Fills the spatial cache using the specified extent.
 void fillCacheEx(IEnvelope pExtent, double expansionFactor)
          Fills the spatial cache using the specified extent with an expansion factor.
 IWorkspaceExtension findExtension(IUID pGUID)
          Finds the specified workspace extension by its globally unique id.
 IVersion findVersion(String name)
          Finds a specific version given it's name.
 int getAccess()
          The version's access permission.
 int getAutoCommitInterval()
          The auto commit interval is the number of modification operations before a database commit is executed.
 String getBrowseName()
          The browse name of the dataset.
 int getBugfixVersion()
          Geodatabase bugfix version level.
 double getCacheExpansionFactor()
          The extent expansion factor for the spatial cache.
 IEnvelope getCacheExtent()
          The extent of the spatial cache.
 String getCategory()
          The category of the dataset.
 IVersion getCommonAncestor(IVersion pVersion)
          Finds common ancestor version.
 IVersion getCommonAncestorVersion()
          The common ancestor of this version and the reconcile version.
 IEnumConfigurationKeyword getConfigurationKeywords()
          The available configuration keywords.
 IEnumConflictClass getConflictClasses()
          All objects which contain conflicts between the current and reconciled versions.
 String getConnectedDatabase()
          The name of the connected database.
 String getConnectedUser()
          The name of the connected user.
 IPropertySet getConnectionProperties()
          The connection properties of the workspace.
 IEnumDatasetName getDatasetNames(int datasetType)
          The DatasetNames in the workspace.
 IEnumDataset getDatasets(int datasetType)
          The datasets in the workspace.
 IVersion getDefaultVersion()
          The Default version.
 boolean getDelimitedIdentifierCase()
          True if DBMS's quoted identifiers are case sensitive.
 String getDescription()
          The version's description.
 IDomain getDomainByName(String domainName)
          The domain with the given name from the workspace.
 IEnumDomain getDomains()
          All the domains in the workspace.
 IEnumDomain getDomainsByFieldType(int type)
          The domain with the given name from the workspace.
 IWorkspaceExtension getExtension(int index)
          The workspace extension at this index.
 int getExtensionCount()
          The number of workspace extensions.
 IName getFullName()
          The associated name object.
 String getFunctionName(int sqlFunc)
          DBMS dependent SQL function names.
 boolean getIdentifierCase()
          True if DBMS's identifiers are case sensitive.
 String getInvalidCharacters()
          The list of invalid characters used in literals (if any).
 String getInvalidStartingCharacters()
          The list of invalid characters used in literals (if any).
 IEnumBSTR getKeywords()
          The list of DBMS specific reserved keywords.
 int getMajorVersion()
          Geodatabase major version level.
 int getMinorVersion()
          Geodatabase minor version level.
 IEnumBSTR getModifiedClasses()
          All objects modified by the current and reconciled versions.
 String getName()
          The name of the Dataset.
 String getPathName()
          The file system full path of the workspace.
 IVersion getPreReconcileVersion()
          The version prior to reconciliation.
 IWorkspaceProperty getProperty(int propertyGroup, int propertyType)
          Information about this particular property.
 IPropertySet getPropertySet()
          The set of properties for the dataset.
 IEnumVersionInfo getRecommendedReconcileOrder()
          An ordered list of versions that can be used to optimize reconciliation against the default version.
 IEnumBSTR getRecommendedSyncOrder()
          An ordered list of replicas that need to be synchronized in order to optimize reconciliation against the default version.
 IVersion getReconcileVersion()
          The version that the current version is reconciling against.
 IEnumSpatialReferenceInfo getSpatialReferenceInfo()
          The defined Spatial References in the Workspace.
 String getSpecialCharacter(int sqlSC)
          Special DBMS dependent SQL characters.
 IVersion getStartEditingVersion()
          The version prior to any edits.
 boolean getStringComparisonCase()
          True if string comparisons are case sensitive.
 IEnumDataset getSubsets()
          Datasets contained within this dataset.
 int getSupportedClauses()
          Supported SQL clauses.
 int getSupportedPredicates()
          Supported SQL predicates.
 int getType()
          The Type of the Workspace.
 IVersionInfo getVersionInfo()
          This version's information.
 IEnumLockInfo getVersionLocks()
          This version's locks.
 String getVersionName()
          The name of the version.
 IEnumVersionInfo getVersions()
          All versions the user owns and those which are public or protected.
 IWorkspace getWorkspace()
          The workspace containing this dataset.
 IWorkspaceFactory getWorkspaceFactory()
          The factory that created the workspace.
 void hasEdits(boolean[] pHasEdits)
          True if there are any completed edit operations that need to be saved .
 int hashCode()
          the hashcode for this object
 boolean hasParent()
          True if this version have a parent version.
 void hasRedos(boolean[] pHasRedos)
          True if there are any completed undos that can be redone.
 void hasUndos(boolean[] pHasUndos)
          True if there are any completed edit operations that can be undone.
 boolean isBeingEdited()
          True if the workspace is being edited.
 boolean isCacheIsFull()
          Indicates if the spatial cache is full.
 boolean isCanDeleteDomain(String domainName)
          Indicates if the user can delete the domain.
 boolean isCanUpgrade()
          Indicates if the geodatabase can be upgraded with this interface.
 boolean isCurrentRelease()
          Indicates if the geodatabase at the current release level.
 boolean isDirectory()
          TRUE if the workspace is a file system directory.
 boolean isInTransaction()
          Indicates if there is already a transaction in progress.
 boolean isRedefined()
          Determines whether the state of the version corresponding to this version object has been redefined in the database.
 boolean isRegisteredAsObjectClass(String name)
          Checks if an object is registered as an object class.
 boolean isRegisteredAsVersioned(IName aName)
          Checks if an object is registered as versioned.
 IFeatureClass openFeatureClass(String name)
          Opens an existing feature class.
 IFeatureDataset openFeatureDataset(String name)
          Opens an existing feature dataset.
 IFeatureDataset openFeatureQuery(String queryName, IQueryDef queryDef)
          Opens a feature dataset containing a single feature class defined by the specified Query.
 IRelationshipClass openRelationshipClass(String name)
          Opens an existing relationship class.
 ITable openRelationshipQuery(IRelationshipClass relClass, boolean joinForward, IQueryFilter srcQueryFilter, ISelectionSet srcSelectionSet, String targetColumns, boolean doNotPushJoinToDB)
          The table of a relationship join query.
 ITable openTable(String name)
          Opens an existing table.
 void parseColumnName(String fullName, String[] dbName, String[] ownerName, String[] tableName, String[] columnName)
          Given a column name, determine its qualification parts.
 void parseTableName(String fullName, String[] dbName, String[] ownerName, String[] tableName)
          Given a table name, determine its qualification parts.
 void post(String versionName)
          Posts the current version to the reconcilled version.
 String qualifyColumnName(String tableName, String columnName)
          Given a table name and column name, returns its fully qualified name.
 String qualifyTableName(String dbName, String ownerName, String tableName)
          Given a database, owner, and table name, return its fully qualified name.
 boolean reconcile(String versionName)
          Reconciles the current version with a target version.
 boolean reconcile2(String versionName, boolean acquireLock)
          Reconciles the current version with a target version.
 boolean reconcile3(String versionName, boolean acquireLock, boolean abortIfConflicts)
          Reconciles the current version with a target version.
 void redoEditOperation()
          Causes a Redo to be performed on the last undo.
 void refreshVersion()
          Refreshes the version with the corresponding database state.
 void registerExtension(String name, IUID pGUID)
          Registers this workspace extension with the database making it required for successful connection to this database.
 void removeIWorkspaceEventsListener(IWorkspaceEvents theListener)
          removeIWorkspaceEventsListener.
 void rename(String name)
          Renames this Dataset.
 void replaceSymbolCollection(String name, Object symbolCollection)
          Replaces the symbol collection in the class extension.
 void setAccess(int access)
          The version's access permission.
 void setAutoCommitInterval(int interval)
          The auto commit interval is the number of modification operations before a database commit is executed.
 void setBrowseName(String name)
          The browse name of the dataset.
 void setDescription(String description)
          The version's description.
 void setProperty(int propertyGroup, int propertyType, IWorkspaceProperty workspaceProperty)
          Information about this particular property.
 void setVersionName(String name)
          The name of the version.
 void startEditing(boolean withUndoRedo)
          Starts editing the workspace.
 void startEditOperation()
          Begins an edit operation.
 void startTransaction()
          Begins a new transaction.
 void stopEditing(boolean saveEdits)
          Stops editing the workspace.
 void stopEditOperation()
          Ends an edit operation.
 void undoEditOperation()
          Causes an Undo to be performed on the last edit operation.
 void unRegisterExtension(IUID pGUID)
          UnRegisters this workspace extension making it no longer required for successful connection to this database.
 void upgrade()
          Upgrade the database to the current release level.
 IField validateField(IField inField)
          Validate a field, performing type conversion if necessary.
 
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

VersionedWorkspace

public VersionedWorkspace(Object obj)
                   throws IOException
Construct a VersionedWorkspace using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to VersionedWorkspace.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
VersionedWorkspace o = (VersionedWorkspace)obj; // will not work

VersionedWorkspace o = new VersionedWorkspace(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems VersionedWorkspace theVersionedWorkspace = (VersionedWorkspace) obj;
Method Detail

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

addIWorkspaceEventsListener

public void addIWorkspaceEventsListener(IWorkspaceEvents theListener)
                                 throws IOException
addIWorkspaceEventsListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.geodatabase.IWorkspaceEvents interface.
Throws:
IOException - If there are communications problems.

removeIWorkspaceEventsListener

public void removeIWorkspaceEventsListener(IWorkspaceEvents theListener)
                                    throws IOException
removeIWorkspaceEventsListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.geodatabase.IWorkspaceEvents interface.
Throws:
IOException - If there are communications problems.

getVersions

public IEnumVersionInfo getVersions()
                             throws IOException,
                                    AutomationException
All versions the user owns and those which are public or protected.

Remarks

The Versions method will return an enumeration of all versions which the connected user owns and versions owned by other users whose access property is "public".

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getVersions in interface IVersionedWorkspace
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumVersionInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultVersion

public IVersion getDefaultVersion()
                           throws IOException,
                                  AutomationException
The Default version.

Remarks

The DEFAULT version is always owned by the ArcSDE administrative user. The version is required by the geodatabase and its access property should remain public or protected.

If it is the application developer's goal to obtain a reference to the DEFAULT version, it is recommended to use the DefaultVersion property as opposed to passing in a literal string to FindVersion method. The DefaultVersion method will always return a IVersion object referencing the default version of the workspace from which the name can be obtained through VersionName property on the IVersionInfo interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDefaultVersion in interface IVersionedWorkspace
Returns:
A reference to a com.esri.arcgis.geodatabase.IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findVersion

public IVersion findVersion(String name)
                     throws IOException,
                            AutomationException
Finds a specific version given it's name.

Remarks

FindVersion returns an IVersion interface which is commonly used to read or set a version's properties. The interface requires a string as input. The value of the string is case sensitive and a version's owner should be prefixed as owner.version. If an owner is not specified, only the versions which the user is connected owns are searched.

If it is the application developer's goal to obtain a reference to the DEFAULT version, it is recommended to use the DefaultVersion property as opposed to passing in a literal string to FindVersion method. The DefaultVersion method will always return a IVersion object referencing the default version of the workspace from which the name can be obtained through VersionName property on the IVersionInfo interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findVersion in interface IVersionedWorkspace
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

compress

public void compress()
              throws IOException,
                     AutomationException
Compresses the database by removing states not referenced by a version.

Remarks

Versioned workspace compression is available using the Compress method. Compressing the versioned workspace will remove those database states not referenced by a version.

Only the ArcSDE administrator user can execute the compress method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
compress in interface IVersionedWorkspace
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRecommendedReconcileOrder

public IEnumVersionInfo getRecommendedReconcileOrder()
                                              throws IOException,
                                                     AutomationException
An ordered list of versions that can be used to optimize reconciliation against the default version.

Remarks

The RecommendedReconcileOrder method returns an enumeration of version names based upon the ascending order of each version's common ancestor state with respect to the DEFAULT version. If a version's common ancestor state is equal to or greater than the state the DEFAULT version references, it will not be included in the enumeration.

The method is intended to be used prior to running a compress. If all or some of the versions returned by the RecommendedReconcileOrder are reconciled based upon the enumeration's order, the compress operation will be able to move more rows from a table's versioned delta tables to the base tables. The more versions reconciled based upon the order of versions returned, more rows will be compressed to the base table.

Compressing a versioned database can improve query performance by reducing the number of rows in a versioned table's delta tables. It is recommended after compressing to update each feature dataset's DBMS table statistics by executing the IDatasetAnalyze::Analyze method interface or your DBMS specific command.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRecommendedReconcileOrder in interface IVersionedWorkspace2
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumVersionInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRecommendedSyncOrder

public IEnumBSTR getRecommendedSyncOrder()
                                  throws IOException,
                                         AutomationException
An ordered list of replicas that need to be synchronized in order to optimize reconciliation against the default version.

Product Availability

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

Specified by:
getRecommendedSyncOrder in interface IVersionedWorkspace3
Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVersionLocks

public IEnumLockInfo getVersionLocks()
                              throws IOException,
                                     AutomationException
This version's locks.

Remarks

The VersionLocks method returns the enumeration IEnumLockInfo. Using the enumeration you can detect what users are currently editing the version or currently reconciling the version. This information can be used to determine if the version is available for editing, to be reconciled or to be reconciled against.

See ILockInfo and esriLockType constants for additional information regarding locking descriptions.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getVersionLocks in interface IVersion
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumLockInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVersionInfo

public IVersionInfo getVersionInfo()
                            throws IOException,
                                   AutomationException
This version's information.

Remarks

The VersionInfo method provides a reference to the IVersionInfo interface. The IVersionInfo interface contains methods which describe the properties of the version. The interface is beneficial for obtaining a version's ancestory, for example its parent version.

VersionInfo will only return versions in which the connected user has the appropriate privileges.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getVersionInfo in interface IVersion
Returns:
A reference to a com.esri.arcgis.geodatabase.IVersionInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVersionName

public String getVersionName()
                      throws IOException,
                             AutomationException
The name of the version.

Remarks

The VersionName method is used to retrieve or set a version's name. Version names are case sensitive and limited to 64 characters. Only the owner of a version can change its properties, such as the name.

The DEFAULT version cannot be renamed and if attempted an error will be returned, [Error executing stored procedure sde.verson_util.rename_version::ORA-20025::The default version may not be deleted or renamed!][SDE.DEFAULT].

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setVersionName

public void setVersionName(String name)
                    throws IOException,
                           AutomationException
The name of the version.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setVersionName in interface IVersion
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDescription

public String getDescription()
                      throws IOException,
                             AutomationException
The version's description.

Remarks

The Description method is used to retreive or set a version's description. Version descriptions are not required and are limited to 64 characters. Only the owner of a version can change its properties, such as the description.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDescription in interface IVersion
Returns:
The description
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDescription

public void setDescription(String description)
                    throws IOException,
                           AutomationException
The version's description.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDescription in interface IVersion
Parameters:
description - The description (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAccess

public int getAccess()
              throws IOException,
                     AutomationException
The version's access permission.

Remarks

The Access property is used to retrieve or set a version's access property. Version access can be private, public or protected. Private versions are only accessible by the version's owner, public versions can be viewed and edited by any user, and protected versions can be viewed by any user but only edited by the owner. Only the owner of a version can change its properties, such as the access.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setAccess

public void setAccess(int access)
               throws IOException,
                      AutomationException
The version's access permission.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAccess in interface IVersion
Parameters:
access - A com.esri.arcgis.geodatabase.esriVersionAccess constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hasParent

public boolean hasParent()
                  throws IOException,
                         AutomationException
True if this version have a parent version.

Remarks

All versions, except the SDE.DEFAULT version have parent versions.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

delete

public void delete()
            throws IOException,
                   AutomationException
Permanently deletes the version from the database.

Remarks

The Delete method is used to permanently delete a version. Only the owner of the version or the ArcSDE administrator can delete the version.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
delete in interface IDataset
Specified by:
delete in interface IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshVersion

public void refreshVersion()
                    throws IOException,
                           AutomationException
Refreshes the version with the corresponding database state.

Remarks

The RefreshVersion method refreshes the version to correspond with the database state the version references. For example, if a second application is editing the verison and saves their changes, you need to call the RefreshVersion method to see the latest representation of the version.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
refreshVersion in interface IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createVersion

public IVersion createVersion(String newName)
                       throws IOException,
                              AutomationException
Creates a new version equivalent to this version.

Remarks

The CreateVersion method allows you to create new version from the existing IVersion. The new version is a child of the current version and is owned by the connected user. The version name is limited to 64 characters and is private by default.

Creating a new version requires an existing version to be the parent of the new version. When the new version is created, the parent and child versions are identical.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createVersion in interface IVersion
Parameters:
newName - The newName (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCommonAncestor

public IVersion getCommonAncestor(IVersion pVersion)
                           throws IOException,
                                  AutomationException
Finds common ancestor version.

Product Availability

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

Specified by:
getCommonAncestor in interface IVersion2
Parameters:
pVersion - A reference to a com.esri.arcgis.geodatabase.IVersion (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createChild

public IVersion createChild(String name,
                            IVersion pInitialStateVersion)
                     throws IOException,
                            AutomationException
Creates a new child version of this version whose initial state is the current state of pInitialStateVersion.

Description

This method is intended for developers who require custom workflows such as creating a version with an initial state that references a version other than that of the parent version. To create a child version with the same initial state as the parent version, use the IVersion.CreateVersion method.

Product Availability

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

Specified by:
createChild in interface IVersion2
Parameters:
name - The name (in)
pInitialStateVersion - A reference to a com.esri.arcgis.geodatabase.IVersion (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRedefined

public boolean isRedefined()
                    throws IOException,
                           AutomationException
Determines whether the state of the version corresponding to this version object has been redefined in the database.

Product Availability

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

Specified by:
isRedefined in interface IVersion2
Returns:
The isRedef
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getModifiedClasses

public IEnumBSTR getModifiedClasses()
                             throws IOException,
                                    AutomationException
All objects modified by the current and reconciled versions.

Remarks

The read-only property ModifiedClasses returns an IEnumBSTR that can be used to iterate over the names of the tables that have been modified by the current version being edited and the target reconciled version.

This property should only be called after a Reconcile or the enumeration will be empty.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getModifiedClasses in interface IVersionEdit
Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConflictClasses

public IEnumConflictClass getConflictClasses()
                                      throws IOException,
                                             AutomationException
All objects which contain conflicts between the current and reconciled versions.

Remarks

The read-only property ConflictClasses returns an IEnumConflictClass that can be used to iterate over the Classes that have conflicts between the current version and the target reconciled version.

This property should only be called after a Reconcile or the enumeration will be empty.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getConflictClasses in interface IVersionEdit
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumConflictClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getReconcileVersion

public IVersion getReconcileVersion()
                             throws IOException,
                                    AutomationException
The version that the current version is reconciling against.

Remarks

The ReconcileVersion method returns an IVersion of the version that the current edit version is reconciling against. The reconcile version represents the state of the database for the target reconcile version when the reconcile operation started. This provides a representation of the target reconcile version which can be used to compare features or rows after the reconciliation.

This property should only be called after a Reconcile or the IVersion object will be nothing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getReconcileVersion in interface IVersionEdit
Returns:
A reference to a com.esri.arcgis.geodatabase.IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStartEditingVersion

public IVersion getStartEditingVersion()
                                throws IOException,
                                       AutomationException
The version prior to any edits.

Remarks

The StartEditingVersion method returns an IVersion of the version that the current edit version is reconciling against. The start editing version represents the state of the database when start editing was initiated. This provides a representation of the version which can be used to compare features or rows after the reconciliation.

The IVersion returned is not available as a workspace for editing.

This property should only be called after a Reconcile or the IVersion object will be nothing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getStartEditingVersion in interface IVersionEdit
Returns:
A reference to a com.esri.arcgis.geodatabase.IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPreReconcileVersion

public IVersion getPreReconcileVersion()
                                throws IOException,
                                       AutomationException
The version prior to reconciliation.

Remarks

The PreReconcileVersion method returns an IVersion of the version that the current edit version is reconciling against. The pre-reconcile version represents the state of the database prior to the reconcile operation. This provides a representation of the version which can be used to compare features or rows after the reconciliation.

The IVersion returned is not available as a workspace for editing.

This property should only be called after a Reconcile or the IVersion object will be nothing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getPreReconcileVersion in interface IVersionEdit
Returns:
A reference to a com.esri.arcgis.geodatabase.IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCommonAncestorVersion

public IVersion getCommonAncestorVersion()
                                  throws IOException,
                                         AutomationException
The common ancestor of this version and the reconcile version.

Remarks

The CommonAncestorVersion method returns an IVersion of the version that the current edit version is reconciling against. The common ancestor version represents the state of the database at the time the version was created from the target version (i.e. when the two versions were identical). This provides a representation of the version which can be used to compare features or rows after the reconciliation.

The IVersion returned is not available as a workspace for editing.

This property should only be called after a Reconcile or the IVersion object will be nothing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCommonAncestorVersion in interface IVersionEdit
Returns:
A reference to a com.esri.arcgis.geodatabase.IVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reconcile

public boolean reconcile(String versionName)
                  throws IOException,
                         AutomationException
Reconciles the current version with a target version.

Remarks

The Reconcile function reconciles the current edit version with the specified target version. The target version must be an ancestor of the current version or an error will be returned. The target version name passed in is case-sensitive and should take the form {owner}.{version_name} for example, SDE.DEFAULT.

If the returned boolean value from Reconcile is TRUE, then conflicts were detected. Otherwise no conflicts were detected.

A reconcile can only be performed if no other users are currently editing the version. As well, the target version cannot concurrently be reconciling by a second application. See IVersion::IVersionLocks for additional information on detecting version locks.

Calling Reconcile will abort the current edit operation therefore any edits made within an open edit operation when reconcile is called will be lost. If there is an open edit operation it is good practice to call StopEditOperation prior to calling Reconcile

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
reconcile in interface IVersionEdit
Parameters:
versionName - The versionName (in)
Returns:
The foundConflicts
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canPost

public boolean canPost()
                throws IOException,
                       AutomationException
Returns a boolean if the version can be posted to the reconcile version.

Remarks

The CanPost method is only true if IVersionEdit.Reconcile has been performed and the reconcile operation has not been undone. CanPost does not check if the target version has been redefined since the reconcile operation.

The Post method requires that the current edit version has been reconciled with any ancestor versions prior to being called. The implicit locking during a reconcile should greatly increase the chances of the source and target versions being ready to post. There is a possibility that these two versions could be out of sync, possibly do to the target version changing after a reconcile operation, and in this case an error will be returned to the application on the post call. It is the application developer’s responsibility to check the CanPost method prior to calling post and handling the post errors mentioned above thrown during the Post operation.

Post first performs a save and then synchronizes the target version with the current edit version. The Post operation cannot be undone.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

post

public void post(String versionName)
          throws IOException,
                 AutomationException
Posts the current version to the reconcilled version.

Remarks

The Post method requires that the current edit version has been reconciled with any ancestor versions prior to being called. The implicit locking during a reconcile should greatly increase the chances of the source and target versions being ready to post. There is a possibility that these two versions could be out of sync, possible do to the target version changing after a reconcile operation, and in this case an error will be returned to the application on the post call. It is the application developer’s responsibility to check the CanPost method prior to calling post and handling the post errors mentioned above thrown during the Post operation.

Post first performs a save and then synchronizes the target version with the current edit version. This results in an explicit commit of any open transactions in the database. The Post operation can not be undone.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
post in interface IVersionEdit
Parameters:
versionName - The versionName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reconcile2

public boolean reconcile2(String versionName,
                          boolean acquireLock)
                   throws IOException,
                          AutomationException
Reconciles the current version with a target version.

Remarks

The Reconcile2 function reconciles the current edit version with the specified target version. The target version must be an ancestor of the current version or an error will be returned. The target version name passed in is case-sensitive and should take the form {owner}.{version_name} for example, SDE.DEFAULT. The Boolean argument specifies if locks should be obtained or not - true acquires the lock, false does not acquire the locks.

If the returned Boolean value from Reconcile2 is TRUE, then conflicts were detected. Otherwise no conflicts were detected.

A reconcile can only be performed if no other users are currently editing the version. As well, the target version cannot concurrently be reconciling by a second application. See IVersion::IVersionLocks for additional information on detecting version locks.

The Reconcile2 method provides the ability to either acquire or not acquire the version locks during the reconcile process. If the locks are not acquired the version is able to be reconciled in parallel when other versions are currently being reconciled. One may desire this functionality when there is no intention of posting the version after the reconcile process. If the intention is to "post" the version after performing the reconcile, it is strongly recommended that the locks are acquired.

If one does attempt to post after performing the reconcile, there is a chance that the target version might have been modified since the reconcile - in this case, the version will have to be re-reconciled. Therefore, the first reconcile is a waste of server and client system resources.

Calling Reconcile will abort the current edit operation therefore any edits made within an open edit operation when reconcile is called will be lost. If there is an open edit operation it is good practice to call StopEditOperation prior to calling Reconcile

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
reconcile2 in interface IVersionEdit2
Parameters:
versionName - The versionName (in)
acquireLock - The acquireLock (in)
Returns:
The foundConflicts
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reconcile3

public boolean reconcile3(String versionName,
                          boolean acquireLock,
                          boolean abortIfConflicts)
                   throws IOException,
                          AutomationException
Reconciles the current version with a target version.

Remarks

The Reconcile3 function reconciles the current edit version with the specified target version. The target version must be an ancestor of the current version or an error will be returned. The target version name passed in is case-sensitive and should take the form {owner}.{version_name} for example, SDE.DEFAULT. The first Boolean argument acquireLock specifies if locks should be obtained or not - true acquires the lock, false does not acquire the locks. The second Boolean argument abortIfConflicts specifies if the reconcile process should abort the reconcile if conflicts are detected for any class. Ideally, abortIfConflicts is only set to true when performing a reconcile in a automated batch type environment where a user does not have the ability to interactively resolve conflicts.

If the returned Boolean value from Reconcile3 is TRUE, then conflicts were detected. Otherwise no conflicts were detected.

A reconcile can only be performed if no other users are currently editing the version. As well, the target version cannot concurrently be reconciling by a second application. See IVersion::IVersionLocks for additional information on detecting version locks.

The Reconcile3 method provides the ability to either acquire or not acquire the version locks during the reconcile process. If the locks are not acquired the version is able to be reconciled in parallel when other versions are currently being reconciled. One may desire this functionality when there is no intention of posting the version after the reconcile process. If the intention is to "post" the version after performing the reconcile, it is strongly recommended that the locks are acquired.

If one does attempt to post after performing the reconcile, there is a chance that the target version might have been modified since the reconcile - in this case, the version will have to be re-reconciled. Therefore, the first reconcile is a waste of server and client system resources.

Calling Reconcile will abort the current edit operation therefore any edits made within an open edit operation when reconcile is called will be lost. If there is an open edit operation it is good practice to call StopEditOperation prior to calling Reconcile

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
reconcile3 in interface IVersionEdit3
Parameters:
versionName - The versionName (in)
acquireLock - The acquireLock (in)
abortIfConflicts - The abortIfConflicts (in)
Returns:
The foundConflicts
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConnectionProperties

public IPropertySet getConnectionProperties()
                                     throws IOException,
                                            AutomationException
The connection properties of the workspace.

Remarks

The ConnectionProperties property of a workspace returns the set of named connection properties for this workspace.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getConnectionProperties in interface IWorkspace
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.

getWorkspaceFactory

public IWorkspaceFactory getWorkspaceFactory()
                                      throws IOException,
                                             AutomationException
The factory that created the workspace.

Remarks

The WorkspaceFactory property can be used to get a reference back to the workspace factory for this workspace.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWorkspaceFactory in interface IWorkspace
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspaceFactory
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDatasets

public IEnumDataset getDatasets(int datasetType)
                         throws IOException,
                                AutomationException
The datasets in the workspace.

Product Availability

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

Specified by:
getDatasets in interface IWorkspace
Parameters:
datasetType - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDatasetNames

public IEnumDatasetName getDatasetNames(int datasetType)
                                 throws IOException,
                                        AutomationException
The DatasetNames in the workspace.

Product Availability

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

Specified by:
getDatasetNames in interface IWorkspace
Parameters:
datasetType - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDatasetName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPathName

public String getPathName()
                   throws IOException,
                          AutomationException
The file system full path of the workspace.

Remarks

If an ArcSDE workspace was created from a PropertySet, PathName will be empty.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getPathName in interface IWorkspace
Returns:
The pathName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getType

public int getType()
            throws IOException,
                   AutomationException
The Type of the Workspace.

Remarks

See esriWorkspaceType for information on the types of workspaces.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isDirectory

public boolean isDirectory()
                    throws IOException,
                           AutomationException
TRUE if the workspace is a file system directory.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDirectory in interface IWorkspace
Returns:
The isDir
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

exists

public boolean exists()
               throws IOException,
                      AutomationException
Checks if the workspace exists.

Remarks

This method can be used with workspaces from file-based data sources to detect if they've been deleted by another application. For example, a shapefile workspace is a directory, which can be deleted while the workspace is open.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

executeSQL

public void executeSQL(String sqlStmt)
                throws IOException,
                       AutomationException
Executes the specified SQL statement.

Remarks

The ExecuteSQL method can be used to send an arbitrary SQL statement to the underlying database for execution. The statement can be any DDL (data definition language) or DML (data manipulation language) statement but can not return any result sets. The syntax for the SQL is as required by the underlying database. The workspace supports an optional ISQLSyntax interface that provides information to applications on aspects of the SQL Syntax for the underlying database.

To determine if a workspace supports the ExecutesSQL method, an application can check the value of the canExecuteSQLworkspace property via the optional IWorkspaceProperties interface. In general, this method is only supported on local and remote database workspaces.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
executeSQL in interface IWorkspace
Parameters:
sqlStmt - The sqlStmt (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

openTable

public ITable openTable(String name)
                 throws IOException,
                        AutomationException
Opens an existing table.

Remarks

The OpenTable method can be used to open any existing table or object class in the workspace given its fully qualified name. The table object returned will always support the ITable interface. The returned table object will support additional interfaces depending on the type of table. For example, object classes will additionally support the IObjectClass interface.
Use the IDatabaseConnectionInfo interface to determine the User and Database (if applicable). ISQLSyntax::QualifyTableName can be used to determine the fully qualified name for a table. Use the NameExists method on the IWorkspace2 interface to determine if a table with the appropriate name exists in a geodatabase.
Some examples of how to use the name parameter of OpenTable are shown below:

For Coverage feature classes:
cover:feature("stream:arc")
For info tables:
cover:feature("stream.aat")
For Oracle tables:
gdb.Owners
For SQLServer tables:
fdo_data.gdb.Owners
For Informix tables:
bladetest2:gdb.Owners
The 4 tables associated with a Topology; T_#_DirtyAreas, T_#_PolyErrors, T_#_LineErrors and T_#_PointErrors cannot be directly edited. For this reason they cannot be opened and will fail with a general Geodatabase error.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
openTable in interface IFeatureWorkspace
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createTable

public ITable createTable(String name,
                          IFields fields,
                          IUID cLSID,
                          IUID eXTCLSID,
                          String configKeyword)
                   throws IOException,
                          AutomationException
Creates a new table.

Remarks

The CreateTable method can be used to create a new table or object class in the workspace.

The optional CLSID and EXTCLSID parameters allow the calling application to specify the GUIDs for the objects that implement the instance and the class extension behavior for an object class. If no CLSID is passed in, then the resulting table is not registered in the geodatabase object class data dictionary (It will support the IObjectClass interface but will have an ObjectClassID of –1). Valid values for CLSID are esriGeoDatabase.Object or any non-spatial object that extends esriGeoDatabase.Object. CLSID must be set in order to apply a class extension with the EXTCLSID parameter.

The Fields object passed to the Fields parameter should not be an object retrieved from another class. If the new class is going to have the same fields as an existing class, cast the existing class' fields collection to the IClone interface, clone it, and use the cloned fields collection as input for this method.

The optional configurationKeyword parameter allows the application to control the physical layout for this table in the underlying RDBMS. For example, in an Oracle database, the configuration keyword controls the tablespace in which the table is created, the initial and next extents, and other properties. The configuration keywords for an ArcSDE instance are set up by the ArcSDE data administrator, the list of available keywords supported by a workspace may be obtained using the IWorkspaceConfiguration interface. For more information on configuration keywords, refer to the ArcSDE documentation.

Note: Table or feature class names with the following prefixes are not supported:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createTable in interface IFeatureWorkspace
Parameters:
name - The name (in)
fields - A reference to a com.esri.arcgis.geodatabase.IFields (in)
cLSID - A reference to a com.esri.arcgis.system.IUID (in)
eXTCLSID - A reference to a com.esri.arcgis.system.IUID (in)
configKeyword - The configKeyword (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

openFeatureClass

public IFeatureClass openFeatureClass(String name)
                               throws IOException,
                                      AutomationException
Opens an existing feature class.

Remarks

The OpenFeatureClass method can be used to open any existing feature class in the workspace given its fully qualified name. Note that every feature class in a geodatabase has a unique fully qualified name, and the OpenFeatureClass method can be used to directly open feature classes that are part of a feature dataset (the feature dataset name does not need to be specified).

Use the IDatabaseConnectionInfo interface to determine the User and Database (if applicable). ISQLSyntax::QualifyTableName can be used to determine the fully qualified name for a feature class. Use the NameExists method on the IWorkspace2 interface to determine if a feature class with the appropriate name exists in a geodatabase.

Opening a feature class that participates in a topology or geometric network will also open all other feature classes participating in the topology or geometric network in memory.

Some examples of how to use the Name parameter of OpenFeatureClass are shown below:

For Coverage feature classes:
buildings:polygon
For Oracle feature classes (the owner prefix is unnecessary if you are connected as the owner of the feature class):
gdb.Buildings
For SQLServer feature classes:
fdo_data.gdb.Buildings
For Informix feature classes:
bladetest2:gdb.Buildings
For VPF feature classes:
ks032193:veg:vgfarea (library:coverage:feature class)
The library name for VPF data is case sensitive and must appear as it is stored in the LAT (Library Attribute Table)
The 4 tables associated with a Topology; T_#_DirtyAreas, T_#_PolyErrors, T_#_LineErrors and T_#_PointErrors cannot be directly edited. For this reason they cannot be opened and will fail with a general Geodatabase error.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
openFeatureClass in interface IFeatureWorkspace
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createFeatureClass

public IFeatureClass createFeatureClass(String name,
                                        IFields fields,
                                        IUID cLSID,
                                        IUID eXTCLSID,
                                        int featureType,
                                        String shapeFieldName,
                                        String configKeyword)
                                 throws IOException,
                                        AutomationException
Creates a new standalone feature class under the workspace.

Remarks

The CreateFeatureClass method can be used to create a stand-alone feature class that is not part of a feature dataset. It takes, in addition to all the parameters that CreateTable takes, an esriFeatureType parameter that specifies the category of features to be stored in this feature class (i.e., esriFTSimple, esriFTComplexEdgeFeature) and a shape field name. The shape field name identifies the name of the field in the input fields collection that represents the shape field for the feature class.

The Fields object passed to the Fields parameter should not be an object retrieved from another class. If the new class is going to have the same fields as an existing class, cast the existing class' fields collection to the IClone interface, clone it, and use the cloned fields collection as input for this method.

The GeometryDef object associated with the shape field object must be fully setup with a spatial reference, grid properties, and the geometry type before calling CreateFeatureClass.

The following esriGeometryType enumeration values represent the valid geometry types for a new feature class' GeometryDef object: esriGeometryPoint, esriGeometryMultipoint, esriGeometryPolyline, esriGeometryPolygon, and esriGeometryMultiPatch.

If the feature class is being created in geodatabase then the fields collection must contain, at a minimum, an Object ID field and a Shape field. The required fields can be obtained from the class description for the type of object you wish to create (see the RequiredFields property on IObjectClassDescription).

The CLSID parameter is used to specify what type of feature will be contained by the class. If a null value is passed in for the CLSID, the geodatabase will return Feature instances from the class. In most cases, this is the desired behavior. If the feature class is used to store custom features, the GUID of the custom feature should be provided. Alternatively, the IClassSchemaEdit interface can be used to change the feature class' CLSID following creation.

The EXTCLSID parameter is used to specify what class will be instantiated as the feature class extension. This object must at least support the IClassExtension interface. If a null value is passed in for the EXTCLSID parameter, the feature class will not have a class extension associated with it. Since class extensions are not required, this is often the desired behavior. If the feature class should have an associated extension, the GUID of the class extension should be provided. Alternatively, the IClassSchemaEdit interface can be used to associate a class extension following creation.

The configurationKeyword parameter allows the application to control the physical layout for this table in the underlying RDBMS. For example, in the case of an Oracle database, the configuration keyword controls the tablespace in which the table is created, the initial and next extents, and other properties. The configuration keywords for an ArcSDE instance are set up by the ArcSDE data administrator, and the list of available keywords supported by a workspace may be obtained using the IWorkspaceConfiguration interface. For more information on configuration keywords, refer to the ArcSDE documentation.

If the workspace the feature class will be created in is a pre-9.2 geodatabase, you must ensure the GeometryDef references a low precision spatial reference. 9.1 and earlier versions of the geodatabase only support low precision spatial references, while 9.2 geodatabases require high precision spatial references. Use IControlPrecision2::IsHighPrecision to manage the precision level of the spatial reference used to create the feature class. Use the IGeodatabaseRelease interface to determine the release of the geodatabase.

Note: Table or feature class names with the following prefixes are not supported:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createFeatureClass in interface IFeatureWorkspace
Parameters:
name - The name (in)
fields - A reference to a com.esri.arcgis.geodatabase.IFields (in)
cLSID - A reference to a com.esri.arcgis.system.IUID (in)
eXTCLSID - A reference to a com.esri.arcgis.system.IUID (in)
featureType - A com.esri.arcgis.geodatabase.esriFeatureType constant (in)
shapeFieldName - The shapeFieldName (in)
configKeyword - The configKeyword (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

openFeatureDataset

public IFeatureDataset openFeatureDataset(String name)
                                   throws IOException,
                                          AutomationException
Opens an existing feature dataset.

Remarks

The OpenFeatureDataset method can be used to open any existing feature dataset in the workspace given its fully qualified name. At ArcGIS release 8.1 and higher, opening a feature dataset does not automatically instantiate all the feature classes in the feature dataset.

Use the IDatabaseConnectionInfo interface to determine the User and Database (if applicable). ISQLSyntax::QualifyTableName can be used to determine the fully qualified name for a feature dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
openFeatureDataset in interface IFeatureWorkspace
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createFeatureDataset

public IFeatureDataset createFeatureDataset(String name,
                                            ISpatialReference spatialReference)
                                     throws IOException,
                                            AutomationException
Creates a new feature dataset.

Remarks

The CreateFeatureDataset method can be used to create a new FeatureDataset given its name and spatial reference. Methods supported by the returned feature dataset allow creation of feature classes in the feature dataset.

If the workspace the FeatureDataset will be created in is a pre-9.2 Geodatabase, you must ensure the spatial reference is a low precision spatial reference. 9.1 and earlier versions of the Geodatabase only support low precision spatial references, while 9.2 Geodatabases require high precision spatial references. Use IControlPrecision2::IsHighPrecision to manage the precision level of the spatial reference used to create the FeatureDataset. Use the IGeodatabaseRelease interface to determine the release of the geodatabase

Example:

 

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createFeatureDataset in interface IFeatureWorkspace
Parameters:
name - The name (in)
spatialReference - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createQueryDef

public IQueryDef createQueryDef()
                         throws IOException,
                                AutomationException
Create a query definition object.

Remarks

The CreateQueryDef method can be used to create a new query definition object that can be evaluated by returning a cursor.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createQueryDef in interface IFeatureWorkspace
Returns:
A reference to a com.esri.arcgis.geodatabase.IQueryDef
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

openFeatureQuery

public IFeatureDataset openFeatureQuery(String queryName,
                                        IQueryDef queryDef)
                                 throws IOException,
                                        AutomationException
Opens a feature dataset containing a single feature class defined by the specified Query.

Remarks

The OpenFeatureQuery can be used to open a virtual feature class whose definition is based on a QueryDef created using the CreateQueryDef method. The QueryDef can involve multiple tables as long as one of them is a feature class; the resulting virtual feature class can be used to construct a feature layer that can be added to a map. The shape column is required as part of the SubFields parameter of the QueryDef.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
openFeatureQuery in interface IFeatureWorkspace
Parameters:
queryName - The queryName (in)
queryDef - A reference to a com.esri.arcgis.geodatabase.IQueryDef (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

openRelationshipClass

public IRelationshipClass openRelationshipClass(String name)
                                         throws IOException,
                                                AutomationException
Opens an existing relationship class.

Remarks

The OpenRelationshipClass method can be used to open any existing relationship class in the workspace given its fully qualified name.

Use the IDatabaseConnectionInfo interface to determine the User and Database (if applicable). ISQLSyntax::QualifyTableName can be used to determine the fully qualified name for a relationship class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
openRelationshipClass in interface IFeatureWorkspace
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRelationshipClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createRelationshipClass

public IRelationshipClass createRelationshipClass(String relClassName,
                                                  IObjectClass originClass,
                                                  IObjectClass destinationClass,
                                                  String forwardLabel,
                                                  String backwardLabel,
                                                  int cardinality,
                                                  int notification,
                                                  boolean isComposite,
                                                  boolean isAttributed,
                                                  IFields relAttrFields,
                                                  String originPrimaryKey,
                                                  String destPrimaryKey,
                                                  String originForeignKey,
                                                  String destForeignKey)
                                           throws IOException,
                                                  AutomationException
Creates a new relationship class.

Remarks

The CreateRelationshipClass method can be used to create a new stand-alone relationship class that is not part of a feature dataset. The relationship class is implemented as a separate data table whose name is the name of the relationship class if the cardinality is many-to-many or if the relationship class is attributed. The relAttribFields parameter is optional, and a null value may be passed in for non-attributed relationship classes.

Many-to-many or attributed relationship classes require specification of all four key fields—the OriginPrimaryKey and the destPrimaryKey parameters are the primary key fields for the origin and destination object classes. The OriginForeignKey and destForeignKey parameters are the names of the corresponding foreign keys that will be created in the data table representing the relationship class. If the relationship class is one-to-one or one-to-many and not attributed, then the relationship class is implemented as a foreign key field in the destination object class (the OriginForeignKey) that references the primary key field in the origin object class (the OriginPrimaryKey). In this case, the OriginPrimaryKey, the OriginForeignKey, and the destPrimaryKey must be supplied.

The Fields object passed to the relAttrFields parameter should not be an object retrieved from another class. If the new class is going to have the same fields as an existing class, cast the existing class' fields collection to the IClone interface, clone it, and use the cloned fields collection as input for this method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createRelationshipClass in interface IFeatureWorkspace
Parameters:
relClassName - The relClassName (in)
originClass - A reference to a com.esri.arcgis.geodatabase.IObjectClass (in)
destinationClass - A reference to a com.esri.arcgis.geodatabase.IObjectClass (in)
forwardLabel - The forwardLabel (in)
backwardLabel - The backwardLabel (in)
cardinality - A com.esri.arcgis.geodatabase.esriRelCardinality constant (in)
notification - A com.esri.arcgis.geodatabase.esriRelNotification constant (in)
isComposite - The isComposite (in)
isAttributed - The isAttributed (in)
relAttrFields - A reference to a com.esri.arcgis.geodatabase.IFields (in)
originPrimaryKey - The originPrimaryKey (in)
destPrimaryKey - The destPrimaryKey (in)
originForeignKey - The originForeignKey (in)
destForeignKey - The destForeignKey (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRelationshipClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

openRelationshipQuery

public ITable openRelationshipQuery(IRelationshipClass relClass,
                                    boolean joinForward,
                                    IQueryFilter srcQueryFilter,
                                    ISelectionSet srcSelectionSet,
                                    String targetColumns,
                                    boolean doNotPushJoinToDB)
                             throws IOException,
                                    AutomationException
The table of a relationship join query.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
openRelationshipQuery in interface IFeatureWorkspace
Parameters:
relClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
joinForward - The joinForward (in)
srcQueryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
srcSelectionSet - A reference to a com.esri.arcgis.geodatabase.ISelectionSet (in)
targetColumns - The targetColumns (in)
doNotPushJoinToDB - The doNotPushJoinToDB (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
The name of the Dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFullName

public IName getFullName()
                  throws IOException,
                         AutomationException
The associated name object.

Remarks

The FullName property returns a Name object for the dataset. The Name object can be persisted and provides a way to get back to the dataset in a future session of the application, via the Open method on the Name object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFullName in interface IDataset
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.

getBrowseName

public String getBrowseName()
                     throws IOException,
                            AutomationException
The browse name of the dataset.

Remarks

BrowseName returns file names without their extension. For example, States.shp would appear as States.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setBrowseName

public void setBrowseName(String name)
                   throws IOException,
                          AutomationException
The browse name of the dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setBrowseName in interface IDataset
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCategory

public String getCategory()
                   throws IOException,
                          AutomationException
The category of the dataset.

Remarks

IDataset::Category returns a description of the category of the dataset. The description returned from the Category property is the same value that is displayed in the Type column within the Contents tab in ArcCatalog. The value will contain a description of the dataset such as "Topology" prefixed with a description of the type of workspace containing the dataset such as "File Geodatabase".

The description returned from IDataset::Category may change between releases of ArcGIS. In addition to this, returned strings are localized, meaning that code relying on a specific string being provided may fail when deployed with a different version of ArcGIS than it was developed with, or when deployed to a client using a different language than it was developed with.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCategory in interface IDataset
Returns:
The category
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubsets

public IEnumDataset getSubsets()
                        throws IOException,
                               AutomationException
Datasets contained within this dataset.

Description

The Subsets property returns other Dataset objects contained in this dataset.

Remarks

IDataset::Subsets is not supported for Graph objects such as a Geometric Network. To return the feature classes contained in a Geometric Network, use the IFeatureClassContainer interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSubsets in interface IDataset
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWorkspace

public IWorkspace getWorkspace()
                        throws IOException,
                               AutomationException
The workspace containing this dataset.

Description

The Workspace property returns the containing workspace for this dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWorkspace in interface IDataset
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.

getPropertySet

public IPropertySet getPropertySet()
                            throws IOException,
                                   AutomationException
The set of properties for the dataset.

Description

The PropertySet property is used to return any additional intrinsic properties (but not metadata properties) that may apply to the dataset. One use of this property is to distinguish between the types of File Geodatabase datafile formats. If called on a Feature Class or Table in a File Geodatabase the Datafile Format property can either be esriFGDBStandardDatafile or esriFGDBCompressedDatafile.

Most datasets do not implement this property and will either raise an error or return a null value if it's called. There are a handful of exceptions that will return property sets; these include the datasets from file geodatabases (as mentioned above) and coverages.

Remarks

Examples of intrinsic properties for which explicit methods exist include the SpatialReference and the Extent methods available on the IGeoDataset interface. In most cases this PropertySet will be empty.

IDataset::PropertySet is not supported for Graph objects such as a Geometric Network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getPropertySet in interface IDataset
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.

canCopy

public boolean canCopy()
                throws IOException,
                       AutomationException
True if this dataset can be copied.

Remarks

The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.

The CanCopy method is supported by:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

copy

public IDataset copy(String copyName,
                     IWorkspace copyWorkspace)
              throws IOException,
                     AutomationException
Copies this dataset to a new dataset with the specified name.

Remarks

IDataset::Copy should only be used with datasets from file-based data sources, such as shapefiles and coverages.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
copy in interface IDataset
Parameters:
copyName - The copyName (in)
copyWorkspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canDelete

public boolean canDelete()
                  throws IOException,
                         AutomationException
True if this dataset can be deleted.

Remarks

The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

canRename

public boolean canRename()
                  throws IOException,
                         AutomationException
True if this dataset can be renamed.

Remarks

The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete or rename a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

rename

public void rename(String name)
            throws IOException,
                   AutomationException
Renames this Dataset.

Remarks

IDataset::Rename does not support the renaming of Graph objects such as a Geometric Network. In addition, certain feature classes, such as network feature classes, cannot be renamed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
rename in interface IDataset
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addDataset

public void addDataset(IDataset datasetToAdd)
                throws IOException,
                       AutomationException
Adds a dataset to the dataset collection.

Remarks

When calling this method on feature datasets, both the XY and Z spatial reference systems of the dataset (if applicable) must match those of the feature dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addDataset in interface IDatasetContainer
Parameters:
datasetToAdd - A reference to a com.esri.arcgis.geodatabase.IDataset (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startEditing

public void startEditing(boolean withUndoRedo)
                  throws IOException,
                         AutomationException
Starts editing the workspace.

Remarks

An edit session may be started using the StartEditing method. The withUndoRedo parameter can be used to suppress undo/redo logging if the workspace supports such suppression. Note that the supression of undo/redo logging is not supported for remote database workspaces. StartEditing cannot be called when a edit session is already active. StopEditing must be called first before a new edit session can be started.

Note: With non-versioned editing always be sure to check the current edit state via IsBeingEdited before called StartEditing or StopEditing. If the workspace is being edited outside your context, there is no need to call StartEditing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
startEditing in interface IWorkspaceEdit
Parameters:
withUndoRedo - The withUndoRedo (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

stopEditing

public void stopEditing(boolean saveEdits)
                 throws IOException,
                        AutomationException
Stops editing the workspace.

Remarks

The StopEditing method is used to end an edit session. The saveEdits parameter controls if edits are saved or discarded. An ArcSDE geodatabase can support multiple concurrent edit sessions on the same version of the database. In such a scenario, StopEditing will return an error code of FDO_E_VERSION_REDEFINED if it detects that the database state associated with the version being edited is no longer the same as it was at the beginning of the edit session (indicating that the version was modified by some other edit session). In this case the application is responsible for calling the IVersionEdit::Reconcile method to reconcile the edit session against the current state of the version being edited. StopEditing may be called again after reconciliation.

Note: With non-versioned editing always be sure to check the current edit state via IsBeingEdited before called StartEditing or StopEditing. If the workspace is being edited outside your context, there will be issues if you call StopEditing. This will cause any other editors of the workspace to become decoupled with the potential loss of their edits.

This method explicitly commit of any active transactions in the database.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
stopEditing in interface IWorkspaceEdit
Parameters:
saveEdits - The saveEdits (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isBeingEdited

public boolean isBeingEdited()
                      throws IOException,
                             AutomationException
True if the workspace is being edited.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isBeingEdited in interface IWorkspaceEdit
Returns:
The pIsBeingEdited
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startEditOperation

public void startEditOperation()
                        throws IOException,
                               AutomationException
Begins an edit operation.

Remarks

All related changes to objects in the database within an edit session should be grouped into edit operations. An edit operation is begun using the StartEditOperation method. An edit operation may be thought of as a short transaction nested within the long transaction corresponding to the edit session.

All edits to features that participate in a Topology or Geometric Network must be bracketed within an edit operation.

When using StartEditOperation, proper handling of errors, including the use of AbortEditOperation, is neccessary.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
startEditOperation in interface IWorkspaceEdit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

stopEditOperation

public void stopEditOperation()
                       throws IOException,
                              AutomationException
Ends an edit operation.

Remarks

Applications are responsible for calling StopEditOperation to mark the end of a successfully completed edit operation. Completed edit operations can be thought of as being pushed onto an undo stack.

All edits to features that participate in a Topology or Geometric Network must be bracketed within an edit operation.

When using StopEditOperation, proper handling of errors, including the use of AbortEditOperation, is necessary.

This method explicitly commit of any active transactions in the database.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
stopEditOperation in interface IWorkspaceEdit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

abortEditOperation

public void abortEditOperation()
                        throws IOException,
                               AutomationException
Aborts an edit operation.

Remarks

Applications are responsible for calling the AbortEditOperation method to abort an edit operation if errors are detected within the methods executed for an edit operation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
abortEditOperation in interface IWorkspaceEdit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hasUndos

public void hasUndos(boolean[] pHasUndos)
              throws IOException,
                     AutomationException
True if there are any completed edit operations that can be undone.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
hasUndos in interface IWorkspaceEdit
Parameters:
pHasUndos - The pHasUndos (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

undoEditOperation

public void undoEditOperation()
                       throws IOException,
                              AutomationException
Causes an Undo to be performed on the last edit operation.

Remarks

The UndoEditOperation can be used to roll the state of the edit session back to what it was prior to the execution of the edit operation at the top of the undo stack. Undoing an edit operation pops the edit operation from the Undo stack and adds it to a Redo stack.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
undoEditOperation in interface IWorkspaceEdit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hasRedos

public void hasRedos(boolean[] pHasRedos)
              throws IOException,
                     AutomationException
True if there are any completed undos that can be redone.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
hasRedos in interface IWorkspaceEdit
Parameters:
pHasRedos - The pHasRedos (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

redoEditOperation

public void redoEditOperation()
                       throws IOException,
                              AutomationException
Causes a Redo to be performed on the last undo.

Remarks

The RedoEditOperation method rolls the state of the edit session forward to what it was after the execution of the edit operation at the top of the redo stack, pops the redone edit operation from the redo stack and pushes it back onto the undo stack. Performing a new edit operation clears the redo stack.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
redoEditOperation in interface IWorkspaceEdit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

enableUndoRedo

public void enableUndoRedo()
                    throws IOException,
                           AutomationException
Enables Undo and Redo of edit operations.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
enableUndoRedo in interface IWorkspaceEdit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

disableUndoRedo

public void disableUndoRedo()
                     throws IOException,
                            AutomationException
Disables Undo and Redo of edit operations.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
disableUndoRedo in interface IWorkspaceEdit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

hasEdits

public void hasEdits(boolean[] pHasEdits)
              throws IOException,
                     AutomationException
True if there are any completed edit operations that need to be saved .

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
hasEdits in interface IWorkspaceEdit
Parameters:
pHasEdits - The pHasEdits (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteByName

public void deleteByName(IDatasetName aName)
                  throws IOException,
                         AutomationException
Deletes an object by it's name.

Remarks

The DeleteByName method can be used to delete a dataset given its name object. It can be useful when cleaning up partially loaded datasets that cannot be instantiated because of incomplete information. It is made use of by ArcCatalog’s delete command. Note that IDataset::Delete is directly available as a method on instantiated datasets.

The DeleteByName method will fail when called on feature classes that participate in geometric networks or topologies. In these cases, the containing dataset, a Geometric Network or Topology, must be deleted first in order to demote the feature classes from non-simple to simple.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteByName in interface IFeatureWorkspaceManage
Parameters:
aName - A reference to a com.esri.arcgis.geodatabase.IDatasetName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRegisteredAsVersioned

public boolean isRegisteredAsVersioned(IName aName)
                                throws IOException,
                                       AutomationException
Checks if an object is registered as versioned.

Remarks

IsRegisteredAsVersioned indicates if a particular object in the workspace is versioned. This property applies only to objects stored in an ArcSDE workspace. You can register and unregister objects as versioned using the RegisterAsVersioned method on IVersionedObject.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isRegisteredAsObjectClass

public boolean isRegisteredAsObjectClass(String name)
                                  throws IOException,
                                         AutomationException
Checks if an object is registered as an object class.

Remarks

IsRegisteredAsObjectClass indicates if an object in the database is referenced in the Geodatabase system tables. A table created using SQL, or an SDE layer created using the ArcSDE administration commands, or other ArcSDE client software are examples of objects that are not registered with the Geodatabase. These object will have an ObjectClassID of -1.

You can use the RegisterAsObjectClass method on IClassSchemaEdit to register an object with the Geodatabase.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isRegisteredAsObjectClass in interface IFeatureWorkspaceManage
Parameters:
name - The name (in)
Returns:
The isRegistered
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canDelete

public boolean canDelete(IName aName)
                  throws IOException,
                         AutomationException
Checks if an object can be deleted.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

canRename

public boolean canRename(IName aName)
                  throws IOException,
                         AutomationException
Checks if an object can be renamed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

analyzeTable

public void analyzeTable(String tableName,
                         int tableComponents)
                  throws IOException,
                         AutomationException
Analyze the table to generate DBMS statistics.

Remarks

The AnalyzeTable and AnalyzeIndex methods can be used to acquire DBMS statistics on tables and table indexes. Having up-to-date statistics on a table is key to efficient query performance on the table and a key requirement for efficient queries against versioned tables. Note that datasets that are based on tables support the IDatasetAnalyze method; to analyze all of the tables in a feature dataset, use the IDatasetAnalyze::Analyze method on the feature dataset.

The TableComponents arguement takes values from the enumeration esriTableComponents. These values include esriAddsTable, esriBusinessTable, esriDeletesTable, esriFeatureTable, and esriRasterTable. The values can also be combined together. For example, to analyze the business, adds, and deletes table, you would specify (esriBusinessTable + esriAddsTable + esriDeletesTable)

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
analyzeTable in interface IFeatureWorkspaceManage
Parameters:
tableName - The tableName (in)
tableComponents - The tableComponents (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

analyzeIndex

public void analyzeIndex(String tableName,
                         String index)
                  throws IOException,
                         AutomationException
Analyze the index to generate DBMS statistics.

Remarks

The AnalyzeTable and AnalyzeIndex methods can be used to acquire DBMS statistics on tables and table indexes. Having up-to-date statistics on a table is key to efficient query performance on the table and a key requirement for efficient queries against versioned tables. Note that datasets that are based on tables support the IDatasetAnalyze method; to analyze all of the tables in a feature dataset, use the IDatasetAnalyze::Analyze method on the feature dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
analyzeIndex in interface IFeatureWorkspaceManage
Parameters:
tableName - The tableName (in)
index - The index (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validateField

public IField validateField(IField inField)
                     throws IOException,
                            AutomationException
Validate a field, performing type conversion if necessary.

Remarks

The ValidateField method takes a Field definition as input, and based on its field type, scale and precision, returns a field definition that represents more closely how that field is actually stored in the database.

For example, a field whose type is esriFieldTypeSingle and its precision and scale are 0, then it will actually be stored in the database as a double.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
validateField in interface IFeatureWorkspaceManage
Parameters:
inField - A reference to a com.esri.arcgis.geodatabase.IField (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IField
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

alterInstanceCLSID

public void alterInstanceCLSID(String name,
                               IUID instanceCLSID)
                        throws IOException,
                               AutomationException
Changes the instance COM class associated with this database class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
alterInstanceCLSID in interface IFeatureWorkspaceSchemaEdit
Parameters:
name - The name (in)
instanceCLSID - A reference to a com.esri.arcgis.system.IUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

alterClassExtensionCLSID

public void alterClassExtensionCLSID(String name,
                                     IUID classExtensionCLSID,
                                     IPropertySet classExtensionProperties)
                              throws IOException,
                                     AutomationException
Changes the class extension COM class associated with this database class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
alterClassExtensionCLSID in interface IFeatureWorkspaceSchemaEdit
Parameters:
name - The name (in)
classExtensionCLSID - A reference to a com.esri.arcgis.system.IUID (in)
classExtensionProperties - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanUpgrade

public boolean isCanUpgrade()
                     throws IOException,
                            AutomationException
Indicates if the geodatabase can be upgraded with this interface. If not, then another utility must be used to upgrade it.

Remarks

Returns True for personal and File geodatabases, and False for ArcSDE geodatabases.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCanUpgrade in interface IGeodatabaseRelease
Returns:
The canUpgrade
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCurrentRelease

public boolean isCurrentRelease()
                         throws IOException,
                                AutomationException
Indicates if the geodatabase at the current release level.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCurrentRelease in interface IGeodatabaseRelease
Returns:
The isCurrent
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMajorVersion

public int getMajorVersion()
                    throws IOException,
                           AutomationException
Geodatabase major version level.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMajorVersion in interface IGeodatabaseRelease
Returns:
The versionNumber
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinorVersion

public int getMinorVersion()
                    throws IOException,
                           AutomationException
Geodatabase minor version level.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMinorVersion in interface IGeodatabaseRelease
Returns:
The versionNumber
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBugfixVersion

public int getBugfixVersion()
                     throws IOException,
                            AutomationException
Geodatabase bugfix version level.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBugfixVersion in interface IGeodatabaseRelease
Returns:
The versionNumber
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

upgrade

public void upgrade()
             throws IOException,
                    AutomationException
Upgrade the database to the current release level.

Remarks

This method will upgrade the geodatabase system table release version to the current version of the ArcGIS software you are running. It will also augment the geodatabase system tables as required to complete the upgrade. An exclusive lock on the geodatabase is required to perform the upgrade.

At ArcGIS 9.2, the Upgrade method will not convert existing datasets within the geodatabase to high precision. In order to convert datasets from Low to High precision, use the IGeoDatasetSchemaEdit2::AlterResolution method.

Once the geodatabase has been upgraded, it is not usable in older versions of the software. Use the IGeodatabaseRelease2::DatasetSupported property to determine if the creation and use of particular datasets are supported within a geodatabase.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
upgrade in interface IGeodatabaseRelease
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isInTransaction

public boolean isInTransaction()
                        throws IOException,
                               AutomationException
Indicates if there is already a transaction in progress.

Remarks

ITransactions does not support nested transactions. The InTransaction property should be used to test if the workspace is already within a transaction.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isInTransaction in interface ITransactions
Returns:
The pInTransaction
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startTransaction

public void startTransaction()
                      throws IOException,
                             AutomationException
Begins a new transaction.

Remarks

Applications are responsible for starting a new transaction (using the StartTransaction method) on the workspace only if the workspace is not already within a transaction. If the workspace is within an transaction this call will amount to a no operation without error. It should be noted that if CommitTransaction is then called it will be acting on the origin transaction and all changes within that original transaction wil be commited.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
startTransaction in interface ITransactions
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

commitTransaction

public void commitTransaction()
                       throws IOException,
                              AutomationException
Commits the current transaction.

Remarks

An application is responsible for stopping only those transactions (using CommitTransaction or AbortTransaction) that were started by the application.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
commitTransaction in interface ITransactions
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

abortTransaction

public void abortTransaction()
                      throws IOException,
                             AutomationException
Aborts the current transaction.

Remarks

An application is responsible for stopping only those transactions (using CommitTransaction or AbortTransaction) that were started by the application.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
abortTransaction in interface ITransactions
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAutoCommitInterval

public void setAutoCommitInterval(int interval)
                           throws IOException,
                                  AutomationException
The auto commit interval is the number of modification operations before a database commit is executed.

Remarks

Setting the AutoCommitInterval to 0 turns auto-commit off, and ensures that the transaction will not commit until the application calls CommitTransaction. The AutoCommitInterval is explicitly set to 0 when an edit session is started. The original value will be reset when the edit session is stopped.

By default the AutoCommitInterval is set to 1000 and it should be noted that user defined transactions will be commited after this threshold is breached.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAutoCommitInterval in interface ITransactionsOptions
Parameters:
interval - The interval (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAutoCommitInterval

public int getAutoCommitInterval()
                          throws IOException,
                                 AutomationException
The auto commit interval is the number of modification operations before a database commit is executed.

Remarks

Setting the AutoCommitInterval to 0 turns auto-commit off, and ensures that the transaction will not commit until the application calls CommitTransaction. The AutoCommitInterval is explicitly set to 0 when an edit session is started. The original value will be reset when the edit session is stopped.

By default the AutoCommitInterval is set to 1000 and it should be noted that user defined transactions will be commited after this threshold is breached.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAutoCommitInterval in interface ITransactionsOptions
Returns:
The interval
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addDomain

public int addDomain(IDomain domain)
              throws IOException,
                     AutomationException
Adds the given domain to the workspace.

Remarks

The AddDomain method is used when adding a new domain to a workspace. An error will be returned if the domain name already exists on an existing domain within the workspace. AddDomain will return the identifier of the domain once it is added to the workspace.

An error will be raised if the domain name contains an invalid character when calling AddDomain. The list of invalid characters can be determined by using the ISQLSyntax::GetInvalidCharacters method, minus the slash (both / and \), hyphen (-), comma (,), and space characters.

If you are looking to assoicate an existing domain to a field (or subtype) see IClassSchemaEdit::AlterDomain (or ISubtypes::SetDomain).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addDomain in interface IWorkspaceDomains
Parameters:
domain - A reference to a com.esri.arcgis.geodatabase.IDomain (in)
Returns:
The domainID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanDeleteDomain

public boolean isCanDeleteDomain(String domainName)
                          throws IOException,
                                 AutomationException
Indicates if the user can delete the domain.

Product Availability

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

Specified by:
isCanDeleteDomain in interface IWorkspaceDomains
Parameters:
domainName - The domainName (in)
Returns:
The deletable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteDomain

public void deleteDomain(String domainName)
                  throws IOException,
                         AutomationException
Deletes the given domain from the workspace.

Remarks

This method will delete a domain from the workspace. For DeleteDomain to execute successfully, you must be connected to the workspace as the user who created the domain you are deleting, and the domain must not be in use by any object classes in the database. Use the CanDeleteDomain property to determine if a domain can be deleted. To unassociate a domain with a field, use the IClassSchemaEdit::AlterDomain method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteDomain in interface IWorkspaceDomains
Parameters:
domainName - The domainName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDomains

public IEnumDomain getDomains()
                       throws IOException,
                              AutomationException
All the domains in the workspace.

Description

The Domains property returns an IEnumDomains enumerator for all of the domains from the underlying workspace.

Remarks

This property return an enumeration of all of the domains on a workspace as an IEnumDomain. You can loop through this enumeration to get each domain.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDomains in interface IWorkspaceDomains
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDomain
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDomainByName

public IDomain getDomainByName(String domainName)
                        throws IOException,
                               AutomationException
The domain with the given name from the workspace.

Product Availability

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

Specified by:
getDomainByName in interface IWorkspaceDomains
Parameters:
domainName - The domainName (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDomain
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDomainsByFieldType

public IEnumDomain getDomainsByFieldType(int type)
                                  throws IOException,
                                         AutomationException
The domain with the given name from the workspace.

Product Availability

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

Specified by:
getDomainsByFieldType in interface IWorkspaceDomains
Parameters:
type - A com.esri.arcgis.geodatabase.esriFieldType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDomain
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

alterDomain

public void alterDomain(IDomain domain)
                 throws IOException,
                        AutomationException
Alters an existing domain in the workspace.

Remarks

The AlterDomain method allows the user to either take an existing domain and modify it, and then call AlterDomain passing it as an argument. Alternatively, the user may create a new instance of a domain with the same name, owner, and field type as an existing domain. The existing domain would be replaced with the new domain. The identifier of the new domain will be modified to match that of the existing domain that is being altered.

The main use of AlterDomain is for modifying the range or coded values associated with the domain. Please note that the renaming of a Domain is not permitted.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
alterDomain in interface IWorkspaceDomains2
Parameters:
domain - A reference to a com.esri.arcgis.geodatabase.IDomain (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fillCache

public void fillCache(IEnvelope pExtent)
               throws IOException,
                      AutomationException
Fills the spatial cache using the specified extent.

Remarks

The CacheIsFull property returns true if the cache is full (the cache is active). The FillCache method is used to make the cache active and to set the boundary of the cache. Calling this method causes the workspace to fetch objects from the database and fill the cache. Only features in open feature classes within the cache extent are fetched. Opening a feature class that participates in a topology or geometric network will also open all other feature classes participating in the topology or geometric network.

The time to fill the cache and the amount of memory consumed with the cache depends on the extent of the cache and the density and size of features in the feature classes being cached.

It should be noted that all attributes of a feature within the envelope will be cached when the call is made to FillCache. Also, only those features that are in currently open feature classes will be cached. Therefore if you only want to perform spatial searches against a specific feature class it would make sense to only have that feature class open when the cache is filled. The more feature classes open when FillCache is called the more expensive the fill cache operation is.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
fillCache in interface ISpatialCacheManager
Parameters:
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

emptyCache

public void emptyCache()
                throws IOException,
                       AutomationException
Empties the spatial cache.

Remarks

The EmptyCache method empties the cache and makes it inactive.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
emptyCache in interface ISpatialCacheManager
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCacheIsFull

public boolean isCacheIsFull()
                      throws IOException,
                             AutomationException
Indicates if the spatial cache is full.

Remarks

The CacheIsFull property returns true if the cache is full (the cache is active). The FillCache method is used to make the cache active and to set the boundary of the cache. Calling FillCache causes the workspace to fetch objects from the database and fill the cache. The time to fill the cache and the amount of memory consumed with the cache depends on the extent of the cache and the density and size of features in the feature classes being cached.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCacheIsFull in interface ISpatialCacheManager
Returns:
The isFull
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCacheExtent

public IEnvelope getCacheExtent()
                         throws IOException,
                                AutomationException
The extent of the spatial cache.

Remarks

The CacheExtent property returns the envelope that represents the current boundary of the cached area. An empty envelope is returned if the cache is empty (the cache is not active).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCacheExtent in interface ISpatialCacheManager
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.

fillCacheEx

public void fillCacheEx(IEnvelope pExtent,
                        double expansionFactor)
                 throws IOException,
                        AutomationException
Fills the spatial cache using the specified extent with an expansion factor.

Remarks

FillCacheEx takes an envelope and a parameter used to expand the envelope. The expand factor must be greater than 1 ; 1.1 would expand it by 10%, while 2 would double the size.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
fillCacheEx in interface ISpatialCacheManager2
Parameters:
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
expansionFactor - The expansionFactor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCacheExpansionFactor

public double getCacheExpansionFactor()
                               throws IOException,
                                      AutomationException
The extent expansion factor for the spatial cache.

Remarks

The CacheExpansionFilter returns the expansion factor specified after a call to FillCacheEx.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCacheExpansionFactor in interface ISpatialCacheManager2
Returns:
The expansionFactor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createAnnotationClass

public IFeatureClass createAnnotationClass(String name,
                                           IFields fields,
                                           IUID cLSID,
                                           IUID eXTCLSID,
                                           String shapeFieldName,
                                           String configKeyword,
                                           IFeatureDataset dstFeatureDataset,
                                           IFeatureClass srcFeatureClass,
                                           Object annoProperties,
                                           Object referenceScale,
                                           Object symbolCollection,
                                           boolean autoCreate)
                                    throws IOException,
                                           AutomationException
Creates a new annotation feature class in the workspace.

Remarks

The CreateAnnotationClass method creates a new annotation feature class that may or may not be feature linked via a relationship class to features in a source feature class (the feature class being annotated).

The CLSID property must be set to esriCarto.AnnotationFeature and the EXTCLSID property must be set to esriCarto.AnnotationFeatureClassExtension. The srcFeatureClass parameter specifies the source feature class and may be set to 0 or Nothing for non-feature linked annotation.

The AnnoProperties parameter specifies the labeling properties to be used for the annotation, and must support the IAnnotateLayerPropertiesCollection interface. The ReferenceScale parameter specifies the reference scale to be used for the annotation. The SymbolCollection parameter specifies the symbols that will be referenced by the annotation elements for the annotation features in this feature class and must support the ISymbolCollection interface.

The autoCreate parameter applies to feature-linked annotation; setting it to True results in a new annotation feature being automatically created when a new feature in the source feature class is created.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createAnnotationClass in interface IFeatureWorkspaceAnno
Parameters:
name - The name (in)
fields - A reference to a com.esri.arcgis.geodatabase.IFields (in)
cLSID - A reference to a com.esri.arcgis.system.IUID (in)
eXTCLSID - A reference to a com.esri.arcgis.system.IUID (in)
shapeFieldName - The shapeFieldName (in)
configKeyword - The configKeyword (in)
dstFeatureDataset - A reference to a com.esri.arcgis.geodatabase.IFeatureDataset (in)
srcFeatureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
annoProperties - A reference to another Object (IUnknown) (in)
referenceScale - A reference to another Object (IUnknown) (in)
symbolCollection - A reference to another Object (IUnknown) (in)
autoCreate - The autoCreate (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSymbolCollection

public void addSymbolCollection(String name,
                                Object symbolCollection)
                         throws IOException,
                                AutomationException
Updates the symbol collection in the class extension.

Remarks

The AddSymbolCollection and ReplaceSymbolCollection may be used to augment and replace the symbol collection associated with an annotation feature class. Use extreme caution when using these methods--be aware that there may be existing annotation features in the annotation feature class that have annotation elements that may reference symbols by ID. Deleting the symbol for such an ID or replacing it with a different symbol may leave the geometry of the annotation feature out of phase with its symbol, resulting in subsequent problems during drawing and selection. These methods are for use by specialized data loaders that can guarantee the integrity of referenced symbols.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addSymbolCollection in interface IFeatureWorkspaceAnno
Parameters:
name - The name (in)
symbolCollection - A reference to another Object (IUnknown) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replaceSymbolCollection

public void replaceSymbolCollection(String name,
                                    Object symbolCollection)
                             throws IOException,
                                    AutomationException
Replaces the symbol collection in the class extension.

Remarks

The AddSymbolCollection and ReplaceSymbolCollection may be used to augment and replace the symbol collection associated with an annotation feature class. Use extreme caution when using these methods--be aware that there may be existing annotation features in the annotation feature class that have annotation elements that may reference symbols by ID. Deleting the symbol for such an ID or replacing it with a different symbol may leave the geometry of the annotation feature out of phase with its symbol, resulting in subsequent problems during drawing and selection. These methods are for use by specialized data loaders that can guarantee the integrity of referenced symbols.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
replaceSymbolCollection in interface IFeatureWorkspaceAnno
Parameters:
name - The name (in)
symbolCollection - A reference to another Object (IUnknown) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

compact

public void compact()
             throws IOException,
                    AutomationException
Compacts the database.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
compact in interface IDatabaseCompact
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canCompact

public boolean canCompact()
                   throws IOException,
                          AutomationException
True if this dataset can be compacted.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

qualifyTableName

public String qualifyTableName(String dbName,
                               String ownerName,
                               String tableName)
                        throws IOException,
                               AutomationException
Given a database, owner, and table name, return its fully qualified name.

Remarks

Applications should use the QualifyTableName and QualifyColumnName methods to construct fully qualified dataset and column names.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
qualifyTableName in interface ISQLSyntax
Parameters:
dbName - The dbName (in)
ownerName - The ownerName (in)
tableName - The tableName (in)
Returns:
The fullName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

qualifyColumnName

public String qualifyColumnName(String tableName,
                                String columnName)
                         throws IOException,
                                AutomationException
Given a table name and column name, returns its fully qualified name.

Remarks

Applications should use the QualifyTableName and QualifyColumnName methods to construct fully qualified dataset and column names.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
qualifyColumnName in interface ISQLSyntax
Parameters:
tableName - The tableName (in)
columnName - The columnName (in)
Returns:
The fullName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

parseTableName

public void parseTableName(String fullName,
                           String[] dbName,
                           String[] ownerName,
                           String[] tableName)
                    throws IOException,
                           AutomationException
Given a table name, determine its qualification parts.

Remarks

Applications should use the ParseTableName method to split the fully qualified name of a table into its components (database, owner, table). ParseTableName can also be used to return the components of any fully qualified name of a dataset such as feature classes, feature datasets, geometric networks and topologies.

Applications that wish to be RDBMS independent should not assume that ‘.’ is the delimiter used to separate the components of a fully qualified dataset name. Use the QualifyTableName method to determine the qualified name of a dataset for a given workspace.

The FullName parameter refers to the fully qualified name of the dataset and is returned by the IDataset::Name property for a dataset in a geodatabase and the IDatasetName::Name property for a dataset name object. Both methods return the fully qualified name for the dataset.

Empty strings will be returned for arguments that do not apply to the underlying DBMS. For example, supplying a FullName parameter of "MyTable" to a Personal or File Geodatabase will result in:

dbName = ""

ownerName = ""

TableName = "MyTable"

While supplying a FullName parameter of "gdb.MyTable" to an ArcSDE Geodatabase on Oracle will result in:

dbName = ""

ownerName = "gdb"

TableName = "MyTable"

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
parseTableName in interface ISQLSyntax
Parameters:
fullName - The fullName (in)
dbName - The dbName (out: use single element array)
ownerName - The ownerName (out: use single element array)
tableName - The tableName (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

parseColumnName

public void parseColumnName(String fullName,
                            String[] dbName,
                            String[] ownerName,
                            String[] tableName,
                            String[] columnName)
                     throws IOException,
                            AutomationException
Given a column name, determine its qualification parts.

Remarks

Applications should use the ParseColumnName method to split the fully qualified name for a column in a table into its components (database, owner, table, column).

Applications that wish to be RDBMS independent should not assume that ‘.’ is the delimiter used to separate the components of a fully qualified dataset name. Use the QualifyColumnName method to determine the qualified name of a column of a table for a given workspace.

The FullName paramter can be returned from the IDataset::Name property for a dataset in a Geodatabase and the IDatasetName::Name property for a dataset name object. Both methods return the fully qualified name for the dataset (the name object for the dataset is itself obtained using the IDataset::FullName property).

Empty strings will be returned for arguments that do not apply to the underlying DBMS. For example, supplying a FullName parameter of "gdb.Greeley_Parcels_1.AREA" to an ArcSDE Geodatabase on Oracle will result in:

dbName = ""

ownerName = "gdb"

TableName = "Greeley_Parcels_1"

columnName = "AREA"

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
parseColumnName in interface ISQLSyntax
Parameters:
fullName - The fullName (in)
dbName - The dbName (out: use single element array)
ownerName - The ownerName (out: use single element array)
tableName - The tableName (out: use single element array)
columnName - The columnName (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFunctionName

public String getFunctionName(int sqlFunc)
                       throws IOException,
                              AutomationException
DBMS dependent SQL function names.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFunctionName in interface ISQLSyntax
Parameters:
sqlFunc - A com.esri.arcgis.geodatabase.esriSQLFunctionName constant (in)
Returns:
The pSqlFunctionName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpecialCharacter

public String getSpecialCharacter(int sqlSC)
                           throws IOException,
                                  AutomationException
Special DBMS dependent SQL characters.

Description

GetSpecialCharacter returns a String value that indicates which character is used to represent the esriSQLSpecialCharacters value specified.

Remarks

The GetSpecialCharacter can be used to return the DBMS dependent character that represents an SQL special character, including the following:

• esriSQL_WildcardManyMatch ( % in SQL_92, * in Jet 4.0)
• esriSQL_WildcardSingleMatch ( _ in SQL_92, ? in Jet 4.0)
• esriSQL_DelimitedIdentifierPrefix ( " in SQL_92, [ in Jet 4.0)
• esriSQL_DelimitedIdentifierSuffix (" in SQL_92, ] in Jet 4.0)

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpecialCharacter in interface ISQLSyntax
Parameters:
sqlSC - A com.esri.arcgis.geodatabase.esriSQLSpecialCharacters constant (in)
Returns:
The pSpecialChar
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSupportedPredicates

public int getSupportedPredicates()
                           throws IOException,
                                  AutomationException
Supported SQL predicates.

Description

GetSupportedPredicates returns a Long value that indicates which of the esriSQLPredicates are supported.

A value of -1 for either Personal or ArcSDE geodatabases, indicates that all predicates are supported for the Workspace object used as the query interface for ISQLSyntax . A value of 0 indicates that no predicates are supported for the Workspace .

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSupportedPredicates in interface ISQLSyntax
Returns:
The pPredicates
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSupportedClauses

public int getSupportedClauses()
                        throws IOException,
                               AutomationException
Supported SQL clauses.

Description

GetSupportedClauses returns a Long value that indicates which of the esriSQLClauses are supported.

A value of -1 for either Personal or ArcSDE geodatabases, indicates that all clauses are supported for the Workspace object used as the query interface for ISQLSyntax . A value of 0 indicates that no clauses are supported for the Workspace .

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSupportedClauses in interface ISQLSyntax
Returns:
The pClauses
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIdentifierCase

public boolean getIdentifierCase()
                          throws IOException,
                                 AutomationException
True if DBMS's identifiers are case sensitive.

Description

GetIdentifierCase returns a Boolean indicating whether identifiers are case sensitive in the DBMS of the underlying workspace.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getIdentifierCase in interface ISQLSyntax
Returns:
The pIsCaseSensitive
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDelimitedIdentifierCase

public boolean getDelimitedIdentifierCase()
                                   throws IOException,
                                          AutomationException
True if DBMS's quoted identifiers are case sensitive.

Description

GetDelimitedIdentifierCase returns a Boolean indicating whether delimited identifiers are case sensitive in the DBMS of the underlying workspace.
An identifier is delimited in most DBMSs with square brackets. A notable exception is Access, which uses quotation marks.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDelimitedIdentifierCase in interface ISQLSyntax
Returns:
The pIsCaseSensitive
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStringComparisonCase

public boolean getStringComparisonCase()
                                throws IOException,
                                       AutomationException
True if string comparisons are case sensitive.

Description

GetStringComparisonCase returns a Boolean indicating whether the comparison strings for the DBMS that Workspace object used as the query interface for the ISQLSyntax are case sensitive.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getStringComparisonCase in interface ISQLSyntax
Returns:
The pIsCaseSensitive
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getKeywords

public IEnumBSTR getKeywords()
                      throws IOException,
                             AutomationException
The list of DBMS specific reserved keywords.

Description

GetKeywords returns a IEnumBStr list of keywords that are specific to the DBMS of the Workspace object used as the query interface for ISQLSyntax .

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getKeywords in interface ISQLSyntax
Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInvalidCharacters

public String getInvalidCharacters()
                            throws IOException,
                                   AutomationException
The list of invalid characters used in literals (if any).

Description

GetInvalidCharacters returns a String that contains all the invalid characters for the Workspace object used as the query interface for ISQLSyntax .

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getInvalidCharacters in interface ISQLSyntax
Returns:
The pInvalidChars
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInvalidStartingCharacters

public String getInvalidStartingCharacters()
                                    throws IOException,
                                           AutomationException
The list of invalid characters used in literals (if any).

Description

GetInvalidStartingCharacters returns a String containing all the invalid starting characters for the DBMS that the Workspace object that was used as a query interface for the ISQLSyntax uses.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getInvalidStartingCharacters in interface ISQLSyntax
Returns:
The pInvalidChars
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getProperty

public IWorkspaceProperty getProperty(int propertyGroup,
                                      int propertyType)
                               throws IOException,
                                      AutomationException
Information about this particular property.

Product Availability

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

Specified by:
getProperty in interface IWorkspaceProperties
Parameters:
propertyGroup - A com.esri.arcgis.geodatabase.esriWorkspacePropertyGroupType constant (in)
propertyType - The propertyType (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspaceProperty
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setProperty

public void setProperty(int propertyGroup,
                        int propertyType,
                        IWorkspaceProperty workspaceProperty)
                 throws IOException,
                        AutomationException
Information about this particular property.

Product Availability

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

Specified by:
setProperty in interface IWorkspaceProperties
Parameters:
propertyGroup - A com.esri.arcgis.geodatabase.esriWorkspacePropertyGroupType constant (in)
propertyType - The propertyType (in)
workspaceProperty - A reference to a com.esri.arcgis.geodatabase.IWorkspaceProperty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConfigurationKeywords

public IEnumConfigurationKeyword getConfigurationKeywords()
                                                   throws IOException,
                                                          AutomationException
The available configuration keywords.

Remarks

Returns an enumeration of all the of the configuration keywords for an ArcSDE or File geodatabase workspace.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getConfigurationKeywords in interface IWorkspaceConfiguration
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumConfigurationKeyword
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findExtension

public IWorkspaceExtension findExtension(IUID pGUID)
                                  throws IOException,
                                         AutomationException
Finds the specified workspace extension by its globally unique id.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findExtension in interface IWorkspaceExtensionManager
Parameters:
pGUID - A reference to a com.esri.arcgis.system.IUID (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspaceExtension
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtensionCount

public int getExtensionCount()
                      throws IOException,
                             AutomationException
The number of workspace extensions.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtensionCount in interface IWorkspaceExtensionManager
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtension

public IWorkspaceExtension getExtension(int index)
                                 throws IOException,
                                        AutomationException
The workspace extension at this index.

Product Availability

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

Specified by:
getExtension in interface IWorkspaceExtensionManager
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspaceExtension
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

registerExtension

public void registerExtension(String name,
                              IUID pGUID)
                       throws IOException,
                              AutomationException
Registers this workspace extension with the database making it required for successful connection to this database.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
registerExtension in interface IWorkspaceExtensionManager
Parameters:
name - The name (in)
pGUID - A reference to a com.esri.arcgis.system.IUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unRegisterExtension

public void unRegisterExtension(IUID pGUID)
                         throws IOException,
                                AutomationException
UnRegisters this workspace extension making it no longer required for successful connection to this database.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
unRegisterExtension in interface IWorkspaceExtensionManager
Parameters:
pGUID - A reference to a com.esri.arcgis.system.IUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReferenceInfo

public IEnumSpatialReferenceInfo getSpatialReferenceInfo()
                                                  throws IOException,
                                                         AutomationException
The defined Spatial References in the Workspace.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReferenceInfo in interface IWorkspaceSpatialReferenceInfo
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumSpatialReferenceInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConnectedDatabase

public String getConnectedDatabase()
                            throws IOException,
                                   AutomationException
The name of the connected database. It may be different from the DATABASE property in the workspace's connection properties.

Remarks

If the underlying DBMS does not support multiple databases or is a Personal or File Geodatabase, the ConnectedDatabase property will return an empty string.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getConnectedDatabase in interface IDatabaseConnectionInfo
Returns:
The db
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConnectedUser

public String getConnectedUser()
                        throws IOException,
                               AutomationException
The name of the connected user. It may be different from the USER property in the workspace's connection properties.

Remarks

If used with a Personal or File Geodatabase, the ConnectedUser property will return an empty string.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getConnectedUser in interface IDatabaseConnectionInfo
Returns:
The user
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.