com.esri.arcgis.geodatabase
Interface IFeatureWorkspaceManage

All Superinterfaces:
Serializable
All Known Subinterfaces:
IFeatureWorkspaceManage2
All Known Implementing Classes:
IFeatureWorkspaceManage2Proxy, IFeatureWorkspaceManageProxy, Sde4Workspace, VersionedWorkspace, Workspace

public interface IFeatureWorkspaceManage
extends Serializable

Provides access to dataset deletion and renaming, table and index analysis, field validation and version and object class registration .

Superseded By

IFeatureWorkspaceManage2

Remarks

The IFeatureWorkspaceManage interface contains utility methods that help in the management of feature workspaces.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


Method Summary
 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 canDelete(IName aName)
          Checks if an object can be deleted.
 boolean canRename(IName aName)
          Checks if an object can be renamed.
 void deleteByName(IDatasetName aName)
          Deletes an object by it's name.
 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.
 IField validateField(IField inField)
          Validate a field, performing type conversion if necessary.
 

Method Detail

deleteByName

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

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

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

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

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

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

canDelete

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

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

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

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

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

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

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

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

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

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.