com.esri.arcgis.geodatabase
Class FeatureDataset

java.lang.Object
  extended by com.esri.arcgis.geodatabase.FeatureDataset
All Implemented Interfaces:
IDataset, IDatasetAnalyze, IDatasetContainer, IDatasetEdit, IDatasetEditInfo, IFeatureClassContainer, IFeatureDataset, IFeatureDatasetExtensionContainer, IGeoDataset, IGeoDatasetSchemaEdit, INetworkCollection, INetworkCollection2, IRelationshipClassContainer, ISchemaLock, ITopologyContainer, ITopologyContainer2, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class FeatureDataset
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IDataset, IDatasetEdit, IDatasetEditInfo, IDatasetAnalyze, ISchemaLock, IGeoDataset, IGeoDatasetSchemaEdit, IFeatureDataset, INetworkCollection, INetworkCollection2, IFeatureClassContainer, IRelationshipClassContainer, IDatasetContainer, ITopologyContainer2, IFeatureDatasetExtensionContainer

ESRI Feature Dataset object.

Remarks

Feature classes that store simple features can be organized either inside or outside a feature dataset. Those outside a feature dataset are called standalone feature classes. Feature classes which store topological features, for example those participating in geometric networks, must be contained within a feature dataset to ensure a common spatial reference.

A FeatureDataset is a dataset that exists only in a geodatabase workspace and all the datasets contained in the FeatureDataset are also part of the same geodatabase. When programming with feature classes, you need to remember that the feature class may or may not belong to a feature dataset.

Each dataset in a geodatabase must have a unique name. In particular, each feature class in a geodatabase must have a unique name, independent of its containing feature dataset. Note that this is different from a file system model where two folders may contain files with the same local name within the folder.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
FeatureDataset(Object obj)
          Construct a FeatureDataset using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void addDataset(IDataset datasetToAdd)
          Adds a dataset to the dataset collection.
 void addRelationshipClass(IRelationshipClass relationshipClass)
          Transfers ownership of a relationship class to this container.
 void alterSpatialReference(ISpatialReference spatialReference)
          Alters the spatial reference of the dataset to match the coordinate system of the input spatial reference, does not reproject the data.
 void analyze(int tableComponents)
          Analyze the data to update/generate DBMS statistics.
 boolean canCopy()
          True if this dataset can be copied.
 boolean canDelete()
          True if this dataset can be deleted.
 boolean canRename()
          True if this dataset can be renamed.
 void changeSchemaLock(int schemaLock)
          Changes a schema lock.
 IDataset copy(String copyName, IWorkspace copyWorkspace)
          Copies this dataset to a new dataset with the specified name.
 IFeatureClass createFeatureClass(String name, IFields fields, IUID cLSID, IUID eXTCLSID, int featureType, String shapeFieldName, String configKeyword)
          Creates a new FeatureClass in this FeatureDataset.
 IGeometricNetwork createGeometricNetwork(String name, int networkType, boolean buildNormalizedTables)
          Creates a new GeometricNetwork in this FeatureDataset.
 IGeometricNetwork createGeometricNetworkEx(String name, int networkType, boolean buildNormalizedTables, String configKeyword, int formatNum)
          Creates a new GeometricNetwork with a configuration keyword in this FeatureDataset.
 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 in this container.
 ITopology createTopology(String name, double clusterTolerance, int maxGeneratedErrorCount, String configurationKeyword)
          Creates a new topology.
 ITopology createTopologyEx(String name, double clusterTolerance, double zClusterTolerance, int maxGeneratedErrorCount, String configurationKeyword)
          Creates a new topology.
 void delete()
          Deletes this dataset.
 boolean equals(Object o)
          Compare this object with another
 IFeatureClass esri_getClass(int classIndex)
          The FeatureClass associated with the specified index value.
 IFeatureDatasetExtension findExtension(int type)
          Provides access to the feature dataset extension that supports the specified dataset type.
 int getAllowableComponents()
          The allowable components to be analyzed.
 String getBrowseName()
          The browse name of the dataset.
 String getCategory()
          The category of the dataset.
 IFeatureClass getClassByID(int iD)
          The FeatureClass with the specified ID.
 IFeatureClass getClassByName(String name)
          The FeatureClass with the specified name.
 int getClassCount()
          The number of FeatureClasses in this container.
 IEnumFeatureClass getClasses()
          An enumerator over the FeatureClasses.
 void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
          The list of current locks.
 double getDefaultClusterTolerance()
          The default cluster tolerance as per the topology engine.
 double getDefaultZClusterTolerance()
          The default z cluster tolerance as per the topology engine.
 IFeatureDatasetExtension getExtension(int index)
          Provides access to a feature dataset extension.
 int getExtensionCount()
          The number of feature dataset extensions.
 IEnvelope getExtent()
          The extent of the GeoDataset.
 int getFormatNumber(int index)
          The specified format number.
 int getFormatNumberCount()
          The count of valid format numbers.
 IName getFullName()
          The associated name object.
 IGeometricNetwork getGeometricNetwork(int index)
          The GeometricNetwork associated with the specified index value.
 IGeometricNetwork getGeometricNetworkByName(String name)
          The GeometricNetwork with the specified Name.
 int getGeometricNetworkCount()
          The number of GeometricNetworks in this FeatureDataset.
 double getMaximumClusterTolerance()
          The maximal cluster tolerance as per the topology engine.
 double getMaximumZClusterTolerance()
          The maximal z cluster tolerance as per the topology engine.
 int getMaxStorableClassID(int formatNum)
          Returns the maximum storable feature class ID for the given format number.
 double getMinimumClusterTolerance()
          The minimal cluster tolerance as per the topology engine.
 double getMinimumZClusterTolerance()
          The minimal z cluster tolerance as per the topology engine.
 String getName()
          The name of the Dataset.
 IPropertySet getPropertySet()
          The set of properties for the dataset.
 IEnumRelationshipClass getRelationshipClasses()
          An enumerator over the RelationshipClasses in this container.
 ISpatialReference getSpatialReference()
          The spatial reference of the GeoDataset.
 IEnumDataset getSubsets()
          Datasets contained within this dataset.
 ITopology getTopology(int index)
          The topology at the specified index.
 ITopology getTopologyByID(int iD)
          The topology with the specified ID.
 ITopology getTopologyByName(String name)
          The topology with the specified name.
 int getTopologyCount()
          The number of topologies in the container.
 int getType()
          The type of the Dataset.
 IWorkspace getWorkspace()
          The workspace containing this dataset.
 int hashCode()
          the hashcode for this object
 boolean isBeingEdited()
          True if the dataset is being edited.
 boolean isCanAlterSpatialReference()
          Indicates if the spatial reference of the dataset can be altered.
 boolean isCanEdit()
          True if the dataset supports edit sessions with the ability to discard edits on save.
 boolean isCanRedo()
          True if the dataset supports edit sessions with the ability to redo undone operations.
 boolean isCanUndo()
          True if the dataset supports edit sessions with the ability to undo individual edit operations.
 void rename(String name)
          Renames this Dataset.
 void setBrowseName(String name)
          The browse name of the dataset.
 
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

FeatureDataset

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

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

Throws:
IOException - if there are interop problems FeatureDataset theFeatureDataset = (FeatureDataset) 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

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.

getType

public int getType()
            throws IOException,
                   AutomationException
The type of the Dataset.

Remarks

The Type property returns the an esriDatasetType value indicating the dataset type, such as esriDTTable or esriDTFeatureClass.

Example:


// Assume we have a reference to an IfeatureClass (pFeatureClass) IDataset pDataset = null;
pDataset = new IDatasetProxy(pFeatureClass);
System.out.println(pDataset.getName() + " " + pDataset.getType());
if(pFeatureClass != null){
pDataset = pFeatureClass.getFeatureDataset();
System.out.println(pDataset.getName() + " " + pDataset.getType());
}
pDataset = new IDatasetProxy(pDataset.getWorkspace());
System.out.println(pDataset.getName() + " " +
pDataset.getType());

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getType in interface IDataset
Returns:
A com.esri.arcgis.geodatabase.esriDatasetType constant
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.

delete

public void delete()
            throws IOException,
                   AutomationException
Deletes this dataset.

Remarks

Certain feature classes, such as network and topology feature classes, cannot be deleted until their containing objects are deleted.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isBeingEdited

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

Remarks

An edit session is begun on a Workspace using IWorkspaceEdit::StartEditing method. Once an edit session has been started on a workspace, the IsBeingEdited method on the IDatasetEdit interface can be used to determine if a particular dataset is participating in the edit session.

The reasons why a dataset may not participate include; the connected user has no privileges or permission to edit the dataset, the connected user is not licensed to edit this type of dataset, or the dataset is not versioned.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isCanEdit

public boolean isCanEdit()
                  throws IOException,
                         AutomationException
True if the dataset supports edit sessions with the ability to discard edits on save.

Remarks

This property is to be used within an active edit session, results cannot be guaranteed if called on a dataset outside of an edit session.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isCanUndo

public boolean isCanUndo()
                  throws IOException,
                         AutomationException
True if the dataset supports edit sessions with the ability to undo individual edit operations.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isCanRedo

public boolean isCanRedo()
                  throws IOException,
                         AutomationException
True if the dataset supports edit sessions with the ability to redo undone operations.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

analyze

public void analyze(int tableComponents)
             throws IOException,
                    AutomationException
Analyze the data to update/generate DBMS statistics.

Remarks

When applied to a feature dataset, Analyze updates the statistics for all of the tables.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAllowableComponents

public int getAllowableComponents()
                           throws IOException,
                                  AutomationException
The allowable components to be analyzed.

Remarks

The AllowableComponents property indicates which parts of the table or feature class can be analyzed. The returned value is based on the esriTableComponents enumeration. Members from this enumeration can be bitwise or’d together.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

changeSchemaLock

public void changeSchemaLock(int schemaLock)
                      throws IOException,
                             AutomationException
Changes a schema lock.

Remarks

There are two kinds of schema locks: shared and exclusive. Shared schema locks are applied automatically by the geodatabase when accessing a dataset and are removed when all references to the dataset are removed. For this reason, it's not necessary to explicitly apply or remove shared schema locks. There is no limit to the number of shared schema locks a dataset or object can have at any given time.
In contrast to shared schema locks, exclusive schema locks are controlled by the developer or ArcGIS application, such as ArcMap or ArcCatalog. An exclusive lock is used to lock a geodatabase dataset or object from use by others to make the necessary changes to it. An exclusive lock is promoted from a shared lock and demoted back to a shared lock when no longer needed. The presence of additional shared schema locks on a dataset or object prevents an exclusive schema lock from being applied and precludes the ability to make changes to the underlying dataset and its schema while it is in use. Only one exclusive schema lock is allowed per dataset. As opposed to shared schema locks, exclusive schema locks are not applied or removed automatically; it is the responsibility of the developer to apply or remove exclusive schema locks.
Limit the scope of exclusive schema locks to the operation that requires the lock. Gather the necessary information to perform the action, obtain the exclusive lock, make the change, and release the lock. Some examples of operations for which an exclusive schema lock should be obtained include:
  • Modifications to attribute domains, such as adding or removing values from a coded value domain or changing the range for range domains
  • Adding or deleting a field from a feature class or object class
  • Associating a class extension with a feature class
  • Creating a topology, geometric network, network dataset, terrain, schematic dataset, representation, or cadastral fabric on a set of feature classes
  • Any use of the IClassSchemaEdit interface
  • Putting a feature class into and taking it out of load-only mode with the IFeatureClassLoad.LoadOnlyMode method
  • Managing (creating, deleting, or modifying) spatial and attribute indexes
Once the action requiring an exclusive schema lock is complete, the exclusive schema lock must be demoted to a shared lock. This includes when errors are raised during the schema modification, for example, consider the case where a field is being deleted from a feature class. To delete the field, an exclusive schema lock is obtained. However, on the call to DeleteField, an error is thrown; that is, the field being deleted is a required field, such as the ObjectID field. In the handling of the error, the exclusive schema lock must be demoted to a shared lock before proceeding.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
changeSchemaLock in interface ISchemaLock
Parameters:
schemaLock - A com.esri.arcgis.geodatabase.esriSchemaLock constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurrentSchemaLocks

public void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
                           throws IOException,
                                  AutomationException
The list of current locks.

Remarks

The ISchemaLockInfo interface is used in concert with ISchemaLock to provide information about a schema lock, for example, whether it is shared or exclusive and for ArcSDE geodatabases, the name of the user who has the lock. Note that there will always be at least one schema lock on the dataset. Also note that by checking the schema locks on a dataset a shared schema lock is applied to the data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCurrentSchemaLocks in interface ISchemaLock
Parameters:
schemaLockInfo - A reference to a com.esri.arcgis.geodatabase.IEnumSchemaLockInfo (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference of the GeoDataset.

Remarks

This property is read only. For layers, when the first layer is added to ArcMap, its spatial reference is read by this property, and the map is set to this spatial reference.

Instances of the esriCarto.GroupLayer class will return null for this property, as a group layer can contain multiple datasets with different spatial references.

Modifications to a spatial reference returned by this property will not be persisted. To modify the spatial reference of a dataset, the IGeoDatasetSchemaEdit and IGeoDatasetSchemaEdit2 interfaces should be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReference in interface IGeoDataset
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public IEnvelope getExtent()
                    throws IOException,
                           AutomationException
The extent of the GeoDataset.

Remarks

The IGeoDataset::Extent property returns an envelope representing the maximum extent of data which has been stored in the dataset.

Consider the following scenario. A new feature class has features added to it. The IGeoDataset::Extent is then requested and an envelope is returned. The extents of the envelope returned are represented by the red box in the image below.

The red box represents the IGeoDataset extent

If a portion of the features were then deleted and the extent is again requested an envelope with the exact same extents as during the first request would be returned (see image below). This is because the deletion of features does not shrink the extent. However all additions of features outside the red box would increase the envelope returned to encompass the newly added features.

The red box represents the IGeoDataset extent after some of the features have been deleted

If you would like to update the IGeoDataset::Extent property to reflect the current features in your dataset please see IFeatureClassManage::UpdateExtent (also see IFeatureClassLoad). In the image below the extent has been updated and a new envelope is being returned.

The red box represents the IGeoDataset extent after it has been updated

ESRI's GroupLayer implements this property differently from most other layer coclasses. When you instantiate a new GroupLayer, this property will return a valid envelope with zero height and width. With most other newly instantiated layers (for example FeatureLayer, RasterLayer, TinLayer), this property initally returns Nothing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IGeoDataset
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.

isCanAlterSpatialReference

public boolean isCanAlterSpatialReference()
                                   throws IOException,
                                          AutomationException
Indicates if the spatial reference of the dataset can be altered.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

alterSpatialReference

public void alterSpatialReference(ISpatialReference spatialReference)
                           throws IOException,
                                  AutomationException
Alters the spatial reference of the dataset to match the coordinate system of the input spatial reference, does not reproject the data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
alterSpatialReference in interface IGeoDatasetSchemaEdit
Parameters:
spatialReference - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
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 FeatureClass in this FeatureDataset.

Remarks

Use the CreateFeatureClass method in the IFeatureDataset interface to create a new feature class within a FeatureDataset. The arguments to this method are the same as to the CreateFeatureClass method in IFeatureWorkspace. However, this method requires that the spatial reference specified for the feature class to be created match the spatial reference of the feature dataset. Note that the spatial reference for the feature class to be created is specified in the GeometryDef property of the Field object for the Shape field in the supplied Fields collection. The GeometryDef object must be fully set up with information on both the spatial reference (the projected or geographic coordinate system, vertical coordinate system, the coordinate domains and the coordinate resolution values), and the spatial index for the shape Field before calling CreateFeatureClass.

The following are valid Geometry types for a new feature class (from esriGeometryType) and are set on the GeometryDef object:

esriGeometryPoint

esriGeometryMultipoint

esriGeometryPolyline

esriGeometryPolygon

esriGeometryMultiPatch

If the FeatureWorkspace the FeatureClass is being created in is a Geodatabase workspace then at a minium the Fields object must contain the the required fields. 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 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 CLSID parameter is used to specify what GUID to use to instantiate the object representing a feature in that FeatureClass. If "Nothing" is passed in for the CLSID, the GeoDatabase will use the CLSID corresponding to esriGeoDatabase.Feature. This is OK in most instances. If you know the FeatureClass has a custom Feature other than esriGeoDatabase.Feature, you can pass in it's GUID at this time or later call methods on the FeatureClass's IClassSchemaEdit interface.

The optional EXTCLSID parameter specifies the GUID to use to instantiate the object representing the FeatureClassExtension. This object must at least support the IClassExtension interface. If you pass in "Nothing" for the EXTCLSID, the newly created FeatureClass will not have a ClassExtension. Since ClassExtensions are not required, this is generally OK, unless the FeatureClass is for annotation, dimension lines or a custom FeatureClass that requires a ClassExtension. If you know the FeatureClass has a ClassExtension and you know the GUID for the ClassExtension, you can pass it in at this time or later call methods on the FeatureClass's IClassSchemaEdit interface.

The optional 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 configurationKeywords 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:
createFeatureClass in interface IFeatureDataset
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.

getGeometricNetworkCount

public int getGeometricNetworkCount()
                             throws IOException,
                                    AutomationException
The number of GeometricNetworks in this FeatureDataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getGeometricNetwork

public IGeometricNetwork getGeometricNetwork(int index)
                                      throws IOException,
                                             AutomationException
The GeometricNetwork associated with the specified index value.

Product Availability

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

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

getGeometricNetworkByName

public IGeometricNetwork getGeometricNetworkByName(String name)
                                            throws IOException,
                                                   AutomationException
The GeometricNetwork with the specified Name.

Product Availability

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

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

createGeometricNetwork

public IGeometricNetwork createGeometricNetwork(String name,
                                                int networkType,
                                                boolean buildNormalizedTables)
                                         throws IOException,
                                                AutomationException
Creates a new GeometricNetwork in this FeatureDataset.

Remarks

When you create a geometric network you also create a corresponding logical network. To get the logical network you need to call IGeometricNetwork::Network which will return the INetwork interface.
Any value supplied for the BuildNormalizedTables parameter is ignored and is reserved for future development.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createGeometricNetwork in interface INetworkCollection
Parameters:
name - The name (in)
networkType - A com.esri.arcgis.geodatabase.esriNetworkType constant (in)
buildNormalizedTables - The buildNormalizedTables (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeometricNetwork
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFormatNumberCount

public int getFormatNumberCount()
                         throws IOException,
                                AutomationException
The count of valid format numbers.

Remarks

The FormatNumberCount will return the count of the currently implemented formats. Use FormatNumberCount - 1 to iterate through FormatNumber.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFormatNumber

public int getFormatNumber(int index)
                    throws IOException,
                           AutomationException
The specified format number.

Product Availability

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

Specified by:
getFormatNumber in interface INetworkCollection2
Parameters:
index - The index (in)
Returns:
The formatNum
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxStorableClassID

public int getMaxStorableClassID(int formatNum)
                          throws IOException,
                                 AutomationException
Returns the maximum storable feature class ID for the given format number.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMaxStorableClassID in interface INetworkCollection2
Parameters:
formatNum - The formatNum (in)
Returns:
The maxClassID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createGeometricNetworkEx

public IGeometricNetwork createGeometricNetworkEx(String name,
                                                  int networkType,
                                                  boolean buildNormalizedTables,
                                                  String configKeyword,
                                                  int formatNum)
                                           throws IOException,
                                                  AutomationException
Creates a new GeometricNetwork with a configuration keyword in this FeatureDataset.

Remarks

The CreateGeometricNetworkEx method contains additional parameters to specify the Configuration keyword for creating networks in an ArcSDE Geodatabase and for specifying the storage format for the network. The configuartion keyword specifies how the logical network tables and indexes are stored in ArcSDE. The format outlines the storage of feature class IDs which participate in the geometric network. The storage format can be specified as either narrow or wide. Networks with a narrow format can only contain feature classes with class IDs less than 10,000 while networks with a wide format have no limitation on the feature class ID value. Unless you specifically require narrow networks, the format should always be set to a value of 1 for the wide storage format.
Any value supplied for the BuildNormalizedTables parameter is ignored and is reserved for future development.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createGeometricNetworkEx in interface INetworkCollection2
Parameters:
name - The name (in)
networkType - A com.esri.arcgis.geodatabase.esriNetworkType constant (in)
buildNormalizedTables - The buildNormalizedTables (in)
configKeyword - The configKeyword (in)
formatNum - The formatNum (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeometricNetwork
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_getClass

public IFeatureClass esri_getClass(int classIndex)
                            throws IOException,
                                   AutomationException
The FeatureClass associated with the specified index value.

Product Availability

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

Specified by:
esri_getClass in interface IFeatureClassContainer
Parameters:
classIndex - The classIndex (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.

getClassByID

public IFeatureClass getClassByID(int iD)
                           throws IOException,
                                  AutomationException
The FeatureClass with the specified ID.

Product Availability

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

Specified by:
getClassByID in interface IFeatureClassContainer
Parameters:
iD - The iD (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.

getClassByName

public IFeatureClass getClassByName(String name)
                             throws IOException,
                                    AutomationException
The FeatureClass with the specified name.

Product Availability

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

Specified by:
getClassByName in interface IFeatureClassContainer
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.

getClassCount

public int getClassCount()
                  throws IOException,
                         AutomationException
The number of FeatureClasses in this container.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getClasses

public IEnumFeatureClass getClasses()
                             throws IOException,
                                    AutomationException
An enumerator over the FeatureClasses.

Remarks

There is no guarentee on the order that the feature classes will be returned.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRelationshipClasses

public IEnumRelationshipClass getRelationshipClasses()
                                              throws IOException,
                                                     AutomationException
An enumerator over the RelationshipClasses in this container.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRelationshipClasses in interface IRelationshipClassContainer
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumRelationshipClass
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 in this container.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createRelationshipClass in interface IRelationshipClassContainer
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.

addRelationshipClass

public void addRelationshipClass(IRelationshipClass relationshipClass)
                          throws IOException,
                                 AutomationException
Transfers ownership of a relationship class to this container.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addRelationshipClass in interface IRelationshipClassContainer
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (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.

createTopologyEx

public ITopology createTopologyEx(String name,
                                  double clusterTolerance,
                                  double zClusterTolerance,
                                  int maxGeneratedErrorCount,
                                  String configurationKeyword)
                           throws IOException,
                                  AutomationException
Creates a new topology.

Remarks

The CreateTopologyEx method creates a topology with the specified name, cluster tolerance, maximum allowable number of errors to be generated, Z cluster tolerance and for ArcSDE, with the supplied configuration keyword. When a topology is initially created, it is empty with no participating feature classes or rules.

The ITopologyContainer::DefaultClusterTolerance property should be used to return the default or recommended cluster tolerance for a topology. The ITopologyContainer::MaximumClusterTolerance property can be used to return the maximum cluster tolerance for a topology. You cannot specify a cluster tolerance larger than the maximum or smaller than the minimum or default cluster tolerance. As such, if the specified cluster tolerance is less than the DefaultClusterTolerance for the feature dataset, then the Topology will be created with the default cluster tolerance value. If the specified cluster tolerance is larger than the MaximumClusterTolerance, the topology will be created with the maximum cluster tolerance.

The maxGeneratedErrorCount parameter specifies the maximum number of errors validate will generate before stopping. Setting a value of -1 indicates there is no limit to the number of errors that will be generated.

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 configurationKeywords 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. The configurationKeyword parameter is not mandatory when building a topology in an ArcSDE Geodatabase, an empty string can be specified, in which case the topology will be built using the default configuration. For more information on configuration keywords, refer to the ArcSDE documentation.

The ITopologyContainer2::DefaultZClusterTolerance property can be used to return the default Z cluster tolerance. The default Z cluster tolerance for all topologies is 0, indicating that the topology will support the Building model. The ITopologyContainer2::MaximumZClusterTolerance property can be used to return the maximum Z cluster tolerance for a topology. The maximum Z cluster tolerance will be equal to the maximum Z - minimum Z of the spatial domain from the feature dataset. Supplying a Z cluster tolerance value greater than 0 will create a topology that supports the Terrain model.

You cannot specify a Z cluster tolerance larger than the maximum or smaller than the minimum or default Z cluster tolerance. As such, if the specified Z cluster tolerance is less than the DefaultZClusterTolerance for the feature dataset, then the topology will be created with the default Z cluster tolerance value. If the specified Z cluster tolerance is larger than the MaximumZClusterTolerance , the topology will be created with the maximum Z cluster tolerance.

When using the CreateTopologyEx method to create a topology within a geodatabase that does not support Z cluster tolerances (geodatabases created pre-9.0), the ZClusterTolerance should be set to -1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createTopologyEx in interface ITopologyContainer2
Parameters:
name - The name (in)
clusterTolerance - The clusterTolerance (in)
zClusterTolerance - The zClusterTolerance (in)
maxGeneratedErrorCount - The maxGeneratedErrorCount (in)
configurationKeyword - The configurationKeyword (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITopology
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultZClusterTolerance

public double getDefaultZClusterTolerance()
                                   throws IOException,
                                          AutomationException
The default z cluster tolerance as per the topology engine.

Remarks

Returns the default Z cluster tolerance as generated by the topology engine, which will be 0 signifying that the topology will support the Building cluster tolerance model. Currently this is the same as the MinimumClusterTolerance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMinimumZClusterTolerance

public double getMinimumZClusterTolerance()
                                   throws IOException,
                                          AutomationException
The minimal z cluster tolerance as per the topology engine.

Remarks

Returns the minimum Z cluster tolerance for the topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMaximumZClusterTolerance

public double getMaximumZClusterTolerance()
                                   throws IOException,
                                          AutomationException
The maximal z cluster tolerance as per the topology engine.

Remarks

Returns the maximum Z cluster tolerance for the topology. This value will the maximum Z - minimum Z from the spatial domain of the feature dataset containing the topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getTopology

public ITopology getTopology(int index)
                      throws IOException,
                             AutomationException
The topology at the specified index.

Product Availability

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

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

getTopologyByName

public ITopology getTopologyByName(String name)
                            throws IOException,
                                   AutomationException
The topology with the specified name.

Product Availability

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

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

getTopologyByID

public ITopology getTopologyByID(int iD)
                          throws IOException,
                                 AutomationException
The topology with the specified ID.

Product Availability

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

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

getTopologyCount

public int getTopologyCount()
                     throws IOException,
                            AutomationException
The number of topologies in the container.

Remarks

The number of Topologies in this container (FeatureDataset).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

createTopology

public ITopology createTopology(String name,
                                double clusterTolerance,
                                int maxGeneratedErrorCount,
                                String configurationKeyword)
                         throws IOException,
                                AutomationException
Creates a new topology.

Remarks

The CreateTopology method creates a topology with the specified name, cluster tolerance, maximum allowable number of errors to be generated and for ArcSDE, with the supplied configuation keyword. When a topology is initially created, it is empty with no participating feature classes or rules.

The ITopologyContainer::DefaultClusterTolerance property should be used to return the default or recommended cluster tolerance for a topology. The ITopologyContainer::MaximumClusterTolerance property can be used to return the maximum cluster tolerance for a topology. You cannot specify a cluster tolerance larger than the maximum or smaller than the minimum or default cluster tolerance. As such, if the specified cluster tolerance is less than the DefaultClusterTolerance for the feature dataset, then the Topology will be created with the default cluster tolerance value. If the specified cluster tolerance is larger than the MaximumClusterTolerance, the topology will be created with the maximum cluster tolerance.

Using the CreateTopology method to create a topology within a geodatabase that supports Z cluster tolerances, will result in a topology with a ZClusterTolerance of 0.

Starting at version 9.2, cluster tolerance values should match the feature dataset's tolerance values.

The maxGeneratedErrorCount parameter specifies the maximum number of errors validate will generate before stopping. Setting a value of -1 indicates there is no limit to the number of errors that will be generated.

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 configurationKeywords 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. The configurationKeyword parameter is not mandatory when building a topology in an ArcSDE Geodatabase, an empty string can be specified, in which case the topology will be built using the default configuration. For more information on configuration keywords, refer to the ArcSDE documentation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createTopology in interface ITopologyContainer
Parameters:
name - The name (in)
clusterTolerance - The clusterTolerance (in)
maxGeneratedErrorCount - The maxGeneratedErrorCount (in)
configurationKeyword - The configurationKeyword (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITopology
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultClusterTolerance

public double getDefaultClusterTolerance()
                                  throws IOException,
                                         AutomationException
The default cluster tolerance as per the topology engine.

Remarks

Returns the "default" cluster tolerance as generated by the topology engine. Currently this is the same as the MinimumClusterTolerance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMinimumClusterTolerance

public double getMinimumClusterTolerance()
                                  throws IOException,
                                         AutomationException
The minimal cluster tolerance as per the topology engine.

Remarks

Returns the minimum cluster tolerance for the topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMaximumClusterTolerance

public double getMaximumClusterTolerance()
                                  throws IOException,
                                         AutomationException
The maximal cluster tolerance as per the topology engine.

Remarks

Returns the maximum cluster tolerance for the topology. This value will be six orders of magnitude (10^6) greater than the minimum cluster tolerance. For example, if the minimum cluster tolerance is 0.0000020407, the maximum cluster tolerance will be 0.20407.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMaximumClusterTolerance in interface ITopologyContainer
Returns:
The clusterTolerance
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 feature dataset extensions.

Remarks

ExtensionCount returns the number of feature dataset extensions associated with the feature dataset.

Product Availability

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

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

getExtension

public IFeatureDatasetExtension getExtension(int index)
                                      throws IOException,
                                             AutomationException
Provides access to a feature dataset extension.

Product Availability

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

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

findExtension

public IFeatureDatasetExtension findExtension(int type)
                                       throws IOException,
                                              AutomationException
Provides access to the feature dataset extension that supports the specified dataset type.

Remarks

The FindExtension method returns the feature dataset extension for the specified dataset type. Use this method to return a reference to the IDatasetContainer2 interface for working with and creating Network Datasets.

Product Availability

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

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